대학생 코딩 과제 대행 java, python, oracle 여덟 번째
https://open.kakao.com/o/s3aMpbA









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))
파이썬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))
댓글
댓글 쓰기