대학생 코딩 과제 대행 java, python, oracle 여덟 번째

https://open.kakao.com/o/s3aMpbA
파이썬3 과제를 대량으로 의뢰받았다. 여러차례에 걸쳐 문제를 푸는대로 블로깅할 예정이다. 큰 섹션으로 총 8개 인데 1개 섹션마다 함수를 4개 이상 짜야한다.  먼저 1개 섹션을 블로깅한다. 아래에 문제 설명들이 나와있다.
 과제출처는 외국대학굔데 어디인지는 모르겠다. 나는 코드를 짜주고 거래를 하는데, 의뢰자랑 나랑 각자의 입장이 맞지 않아 거래는 불발했지만, 문제푼게 아까워서 블로깅한다.

아래 문제를 보면 문자열 처리와 함수프로그래밍 개념을 합친 문제이다.
토픽은 미국화폐인 달러에서 Serial number를 다루고 있다.












import re


def fill_in_0(number):
    result = str(number)
    if len(result) == 1:
        result = '0000000' + result
    if len(result) == 2:
        result = '000000' + result
    if len(result) == 3:
        result = '00000' + result
    if len(result) == 4:
        result = '0000' + result
    if len(result) == 5:
        result = '000' + result
    if len(result) == 6:
        result = '00' + result
    if len(result) == 7:
        result = '0' + result
    return result


def serialNumber(number):
    result = str(number)
    reFilter = re.compile(r'[^0-9]')
    list = reFilter.findall(result)
    # print(list)
    if list:
        assert not list, 'invalid serial number'
    else:
        result = fill_in_0(result)
        return result


print(serialNumber(834783))
print(serialNumber('47839'))
print(serialNumber(834783244839184))


# print(serialNumber('4783926132432*'))


def solid(number):
    string = str(number)
    tf = True
    r = []
    for i in range(len(string)):
        r.append(string[i])
    for i in range(0, len(r)):
        if r[0] != r[i]:
            tf = False
    return tf

print("====================================solid====================================")
print(solid(44444444))
print(solid('44544444'))


def radar(number):
    string = fill_in_0(number)
    forward = string[0:4]
    backward = string[4:]
    backward = ''.join(reversed(backward))
    if forward == backward:
        return True
    else:
        return False

print("====================================radar====================================")
print(radar(1133110))
print(radar('83289439'))


def repeater(number):
    string = fill_in_0(number)
    forward = string[0:4]
    backward = string[4:]
    if forward == backward:
        return True
    else:
        return False

print("================================repeater================================")
print(repeater(20012001))
print(repeater('83289439'))



def radarRepeater(number):
    string = fill_in_0(number)
    forward = string[0:4]
    backward = string[4:]
    if forward == backward:
        return True
    else:
        return False

print("================================radarrepeater================================")
print(radarRepeater('12211221'))
print(radarRepeater('83289439'))


def numismatist(list, kind=None):
    if kind is None:
        result = []
        for digits in list:
            tf = solid(digits)
            if tf is True:
                result.append(digits)
    elif kind == radar:
        result = []
        for digits in list:
            tf = radar(digits)
            tf2 = solid(digits)
            if tf is True and tf2 is False:
                result.append(digits)
    elif kind == repeater:
        result = []
        for digits in list:
            tf = repeater(digits)
            tf2 = solid(digits)
            if tf is True and tf2 is False:
                result.append(digits)
    return result

print("================================numismatist================================")
print(numismatist([33333333, 1133110, '77777777', '12211221']))
print(numismatist([33333333, 1133110, '77777777', '12211221'], radar))
print(numismatist([33333333, 1133110, '77777777', '12211221'], kind=repeater))

댓글

이 블로그의 인기 게시물

About JVM Warm up

About idempotent

About Kafka Basic

About ZGC

sneak peek jitpack

Spring Boot Actuator readiness, liveness probes on k8s

About Websocket minimize data size and data transfer cost on cloud

About G1 GC

대학생 코딩 과제 대행 java, python, oracle 네 번째