Python 중급 문제풀이 1

조천룡·2023년 5월 9일

python

목록 보기
4/13
post-thumbnail

산술연산 계산기

코드

def add(n1, n2):
    return n1 + n2

def sub(n1, n2):
    return n1 - n2

def mul(n1, n2):
    return n1 * n2

def div(n1, n2):
    return n1 / n2

def mod(n1, n2):
    return n1 % n2

def flo(n1, n2):
    return n1 // n2

def exp(n1, n2):
    return n1 ** n2

flag = True

while flag:
    print('-' * 60)
    selectNumber = int(input('1.덧셈, 2.뺄셈, 3.곱셈, 4.나눗셈, 5.몫, 6.나머지, 7.거듭셈, 8.종료 '))

    if selectNumber == 8:
        print('bye~')
        break
    elif selectNumber > 8 or selectNumber <1:
        flag = False
        print('try again ~ ')
        break

    num1 = float(input('첫 번쨰 숫자 입력 : '))
    num2 = float(input('첫 번쨰 숫자 입력 : '))

    if selectNumber == 1:
        print(f'{num1} + {num2} = {add(num1,num2)}')
    elif selectNumber == 2:
        print(f'{num1} - {num2} = {sub(num1,num2)}')
    elif selectNumber == 3:
        print(f'{num1} * {num2} = {mul(num1,num2)}')
    elif selectNumber == 4:
        print(f'{num1} / {num2} = {div(num1,num2)}')
    elif selectNumber == 5:
        print(f'{num1} % {num2} = {mod(num1,num2)}')
    elif selectNumber == 6:
        print(f'{num1} // {num2} = {flo(num1,num2)}')
    elif selectNumber == 7:
        print(f'{num1} ** {num2} = {exp(num1,num2)}')

    print('-' * 60)

출력

이동거리와 이동시간을 반환하는 함수

코드


def getDistance(speed, hour, minute):
    distance = speed * (hour + minute / 60)
    return  distance

def getTime(speed,distance):
    time = distance / speed
    hour = int(time)
    minute = int((time - hour) * 60)
    return [hour,minute]

print('-' * 60)
s = float(input('속도(km/h) 입력: '))
h = float(input('시간(h) \t  입력: '))
m = float(input('시간(m) \t  입력: '))
d = getDistance(s,h,m)
print(f'{s}(km/h)속도로 {h}(h)시간 {m}(m)분 동안 이동안 거리 : {d}(km) ')
print('-' * 60)

print('-' * 60)
s = float(input('속도(km/h) 입력: '))
d = float(input('거리(km) \t입력: '))
t = getTime(s,d)
print(f'{s}(km/h)속도로 {d}(km) 이동한 시간 : {t[0]}(h) {t[1]}(m) ')
print('-' * 60)

출력

영수증 출력 함수

코드

childPrice = 18000
infantPrice = 25000
adultPrice = 50000

def formatedNumber(n):
    return format(n,',')

def printAirPlaneReciept(c1, c2, i1, i2, a1, a2):

    cp = c1 *childPrice
    cp_dc = int(c2 * childPrice * 0.5)
    print(f'유아 {c1}명 요금: {formatedNumber(cp)}원')
    print(f'유아 할인 대상 {c2}명 요금: {formatedNumber(cp_dc)}원')

    ip = i1 * infantPrice
    ip_dc = int(i2 * infantPrice * 0.5)
    print(f'소아 {i1}명 요금: {formatedNumber(ip)}원')
    print(f'소아 할인 대상 {i2}명 요금: {formatedNumber(ip_dc)}원')

    ap = a1 * adultPrice
    ap_dc = int(a2 * adultPrice * 0.5)
    print(f'성인 {a1}명 요금: {formatedNumber(ap)}원')
    print(f'성인 할인 대상 {a2}명 요금: {formatedNumber(ap_dc)}원')

    print('=' * 60)
    print(f'Total: {formatedNumber(c1 + c2 + i1 + i2 + a1+ a2)}')
    print(f'TotalPrice: {formatedNumber(cp + cp_dc + ip + ip_dc + ap + ap_dc)}')

childCnt = int(input('유아 입력: '))
specialDCChildCnt = int(input('할인 대상 유아 입력:'))

infantCnt = int(input('소아 입력: '))
specialDCInfantCnt = int(input('할인 대상 소아 입력:'))

adultCnt = int(input('성인 입력: '))
specialDCAdultCnt = int(input('할인 대상 성인 입력:'))
print('=' * 60)
printAirPlaneReciept(childCnt,specialDCChildCnt,
                     infantCnt,specialDCInfantCnt,
                     adultCnt,specialDCAdultCnt)
print('=' * 60)

출력

profile
10√2 Data

0개의 댓글