320x100
# 다듬지 않은 내 코드
# 결과는 성공하긴 했는데 코드를 만드는 시간이 15분정도 걸렸다.
def cal():
childPrice = 18000
infatPrice = 25000
adultPrice_over12 = 50000
handicap = 0.5
a = int(input('유아 입력: '))
b = int(input('할인대상 유아 입력: '))
c = int(input('소아 입력: '))
d = int(input('할인대상 소아 입력: '))
e = int(input('성인 입력: '))
f = int(input('할인대상 성인 입력: '))
cp = a * childPrice
hcp = b * childPrice * handicap
ip = c * infatPrice
hip = d * infatPrice * handicap
ap = e * adultPrice_over12
hap = f * adultPrice_over12 * handicap
print('='*60)
print('유아 {}명 요금: {}원'.format(a, format(cp, ',')))
print('유아 할인 대상 {}명 요금: {}원'.format(b, format(hcp, ',')))
print('소아 {}명 요금: {}원'.format(c, format(ip, ',')))
print('소아 할인 대상 {}명 요금: {}원'.format(d, format(hip, ',')))
print('성인 {}명 요금: {}원'.format(e, format(ap, ',')))
print('성인 할인 대상 {}명 요금: {}원'.format(f, format(hap, ',')))
print('=' * 60)
print('Total: {}명'.format(a+b+c+d+e+f))
print('TotlaPrice: {}원'.format(format(cp+hcp+ip+hip+ap+hap),','))
print('=' * 60)
cal()
# 답안 코드
childPrice = 18000
infantPrice = 25000
adultPrice = 50000
specialDC = 0.5
# 이건 금액 다듬어 줄때 천자리 구분 포멧팅과 같은 위치에 써주면 된다.
def formatedNumber(n):
return format(n, ',')
def printAirPlaneReceipt(c1, c2, i1, i2, a1, a2):
cp = c1 * childPrice
cp_dc = int(c2 * childPrice *specialDC)
print(f'유아 {c1}명 요금: {cp}원 ')
print(f'유아 할인 대상 {c2}명 요금: {cp_dc}원 ')
ip = i1 * infantPrice
ip_dc = int(i2 * infantPrice * specialDC)
print(f'소아 {i1}명 요금: {ip}원 ')
print(f'소아 할인 대상 {i2}명 요금: {ip_dc}원 ')
ap = a1 * adultPrice
ap_dc = int(a2 * adultPrice * specialDC)
print(f'성인 {a1}명 요금: {ap}원 ')
print(f'성인 할인 대상 {a2}명 요금: {ap_dc}원 ')
print(f'Total: {c1 + c2 + i1 + i2 + a1 + a2}명')
print(f'TotalPrice: {cp + cp_dc + ip + ip_dc + ap + ap_dc}원')
childCnt = int(input('유아 입력: '))
specailDcChildCnt = int(input('할인 대상 유아 입력: '))
infantCnt = int(input('소아 입력: '))
specailDcInfantCnt = int(input('할인 대상 소아 입력: '))
adultCnt = int(input('성인 입력: '))
specailDcAdultCnt = int(input('할인 대상 성인 입력: '))
printAirPlaneReceipt(childCnt, specailDcChildCnt, infantCnt, specailDcInfantCnt, adultCnt, specailDcAdultCnt)
# 코드 줄의 길이는 서로 비슷한데
# 느낌탓인가? 후자의 코드가 더 가독성도 좋은것같고 수정하기에도 헷갈림이 덜한것같다
# 뭔가 "클린 코드" 이런걸 배워야할것같다
300x250
'개발일지 > Python' 카테고리의 다른 글
[복기] 등비 수열 코드 (0) | 2022.05.05 |
---|---|
[복기] 등차수열 코드 (0) | 2022.05.05 |
파이썬 [전역변수]모듈 __name__, __main__ 류 import 설명 (0) | 2022.05.03 |
[복기] 파이썬 난수 발생 모듈 (0) | 2022.05.03 |
[복기] 파이썬 함수 및 중첩함수 기본 원리 (0) | 2022.05.03 |