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
while True:
print ('-' * 60)
selectNum = int(input('1.덧셈 2.뺄셈 3.곱셈 4.나눗셈 5.나머지 6.몫 7.제곱승 8.종료\t'))
if selectNum == 8:
print('Bye~')
break
num1 = float(input('첫 번째 숫자 입력: '))
num2 = float(input('두 번째 숫자 입력: '))
if selectNum == 1:
print(f'{num1} + {num2} = {add(num1, num2)}')
elif selectNum == 2:
print(f'{num1} - {num2} = {sub(num1, num2)}')
elif selectNum == 3:
print(f'{num1} * {num2} = {mul(num1, num2)}')
elif selectNum == 4:
print(f'{num1} / {num2} = {div(num1, num2)}')
elif selectNum == 5:
print(f'{num1} % {num2} = {mod(num1, num2)}')
elif selectNum == 6:
print(f'{num1} // {num2} = {flo(num1, num2)}')
elif selectNum == 7:
print(f'{num1} ** {num2} = {exp(num1, num2)}')
else:
print('입력 오류. 다시 입력해주세요.')
print ('-' * 60)
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
while True:
print ('-' * 60)
selectNum = int(input('1.덧셈 2.뺄셈 3.곱셈 4.나눗셈 5.나머지 6.몫 7.제곱승 8.종료\t'))
if selectNum == 8:
print('Bye~')
break
if selectNum in range(1,8):
num1 = float(input('첫 번째 숫자 입력: '))
num2 = float(input('두 번째 숫자 입력: '))
if selectNum == 1:
print(f'{num1} + {num2} = {add(num1, num2)}')
elif selectNum == 2:
print(f'{num1} - {num2} = {sub(num1, num2)}')
elif selectNum == 3:
print(f'{num1} * {num2} = {mul(num1, num2)}')
elif selectNum == 4:
print(f'{num1} / {num2} = {div(num1, num2)}')
elif selectNum == 5:
print(f'{num1} % {num2} = {mod(num1, num2)}')
elif selectNum == 6:
print(f'{num1} // {num2} = {flo(num1, num2)}')
elif selectNum == 7:
print(f'{num1} ** {num2} = {exp(num1, num2)}')
else:
print('입력 오류. 다시 입력해주세요.')
print ('-' * 60)
# 거리(km) = 속도(km/h) * 시간(h)
def getDistance(speed, hour, minute):
return speed * (hour + minute/60)
print('-' * 60)
s = float(input('속도(km/h)입력: '))
h = float(input('시간(h)입력: '))
m = float(input('시간(m)입력: '))
d = getDistance(s, h, m)
print(f'{s}(km/h)속도로 {h}(h)시간 {m}(m)분 동안 이동한 거리: {d}(km)')
print('-' * 60)
def getTime (speed, distance):
time = distance / speed
print(f'time: {time}')
h = int(time)
m = int((time - h)*60)
return [h,m]
print('-' * 60)
s = float(input('속도(km/h) 입력: '))
d = float(input('거리(km) 입력: '))
t = getTime(s, d)
print(f'{s}(km/h)속도로 {d}(km)이동한 시간: {t[0]}(h)시간 {t[1]}(m)분')
infantPrice = 18000
childPrice = 25000
adultPrice = 50000
specialDC = 0.5
def formatedNum(n):
return format(n, ',')
def printAirplaneRecipt(i1, i2, c1, c2, a1, a2):
print('=' * 60)
ip = i1 * infantPrice
ip_dc = int(i2 * infantPrice * specialDC)
print(f'유아 {i1}명 요금: {formatedNum(ip)}원')
print(f'유아 할인 대상 {i2}명 요금: {formatedNum(ip_dc)}원')
cp = c1 * childPrice
cp_dc = int(c2 * childPrice * specialDC)
print(f'소아 {c1}명 요금: {formatedNum(cp)}원')
print(f'소아 할인 대상 {c2}명 요금: {formatedNum(cp_dc)}원')
ap = a1 * adultPrice
ap_dc = int(a2 * adultPrice * specialDC)
print(f'성인 {a1}명 요금: {formatedNum(ap)}원')
print(f'성인 할인 대상 {a2}명 요금: {formatedNum(ap_dc)}원')
print('=' * 60)
print(f'Total: {i1+i2+c1+c2+a1+a2}명')
print(f'Total Price: {formatedNum(ip+ip_dc+cp+cp_dc+ap+ap_dc)}원')
print('='*60)
i1 = int(input('유아 입력: '))
i2 = int(input('할인대상 유아 입력: '))
c1 = int(input('소아 입력: '))
c2 = int(input('할인대상 소아 입력: '))
a1 = int(input('성인 입력: '))
a2 = int(input('할인대상 성인 입력: '))
printAirplaneRecipt(i1, i2, c1, c2, a1, a2)
❗ 팩토리얼 구하기 (재귀함수)
def factorialCal(n):
if n == 1:
return n
return n * factorialCal(n-1)
userNum = int(input('input number: '))
print(format(factorialCal(userNum), ','))
👌 이자 계산기
won = int(input('예치금(원): '))
year = int(input('기간(년): '))
interest = int(input('연 이율(%): '))
def formatedNum(n):
return format(n, ',')
def simple(w, y, i):
return w + (w * y * (i * 0.01))
def compound(w, y, i):
y = y * 12 #연 -> 월로 변경
i = (i * 0.01) / 12 #월 이자로 변경
total = w
for n in range(y):
total += total * i
return int(total)
print('[단리 계산기]')
print('=' * 30)
print(f'예치금\t: {formatedNum(won)}원')
print(f'예치기간\t: {year}년')
print(f'연 이율\t: {interest}%')
print('-' * 30)
print(f'{year}년 후 총 수령액: {formatedNum(int(simple(won,year,interest)))}원')
print('=' * 30)
print('[월복리 계산기]')
print('=' * 30)
print(f'예치금\t: {formatedNum(won)}원')
print(f'예치기간\t: {year}년')
print(f'연 이율\t: {interest}%')
print('-' * 30)
print(f'{year}년 후 총 수령액: {formatedNum(int(compound(won,year,interest)))}원')
print('=' * 30)
🤪 등차수열
a1 = int(input('a1 입력: '))
dif = int(input('공차 입력: '))
n = int(input('n 입력: '))
def progression(a, d, n):
valueN = 0
sumN = 0
for i in range(1, n+1):
if i == 1:
valueN = a
sumN = a
print(f'{i}번째 항의 값: {valueN}')
print(f'{i}번째 항까지의 합: {sumN}')
else:
valueN += d
sumN = sumN + valueN
print(f'{i}번째 항의 값: {valueN}')
print(f'{i}번째 항까지의 합: {sumN}')
progression(a1, dif, n)
🙄 등비수열
def seqCal(a1, r, n):
valueN = 0; sumN = 0
for i in range(1, n+1):
if i == 1:
valueN = a1
sumN = a1
print(f'{i}번째 항의 값: {valueN}')
print(f'{i}번째 항까지의 합: {sumN}')
else:
valueN *= r
sumN += valueN
print(f'{i}번째 항의 값: {valueN}')
print(f'{i}번째 항까지의 합: {sumN}')
a1 = int(input('a1 입력: '))
r = int(input('공비 입력: '))
n = (int(input('n 입력: ')))
seqCal(a1, r, n)