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)
selectNumber = int(input("1.덧셈, 2.뺄셈, 3.곱셈, 4.나눗셈, 5.나머지, 6.몫, 7.제곱승, 8.종료 "))
if selectNumber == 8:
print("Bye~")
break
number1 = float(input("첫 번째 숫자 입력: "))
number2 = float(input("두 번째 숫자 입력: "))
if selectNumber == 1:
print(f"{number1} + {number2} = {add(number1, number2)}")
elif selectNumber == 2:
print(f"{number1} - {number2} = {sub(number1, number2)}")
elif selectNumber == 3:
print(f"{number1} * {number2} = {mul(number1, number2)}")
elif selectNumber == 4:
print(f"{number1} / {number2} = {div(number1, number2)}")
elif selectNumber == 5:
print(f"{number1} % {number2} = {mod(number1, number2)}")
elif selectNumber == 6:
print(f"{number1} // {number2} = {flo(number1, number2)}")
elif selectNumber == 7:
print(f"{number1} ** {number2} = {exp(number1, number2)}")
print("-" * 60)
def getDistance(speed, hour, minute):
distance = speed * (hour + minute / 60)
return distance
print("-" * 60)
speed = float(input("속도(km/h) 입력: "))
hour = float(input("시간(h) 입력: "))
minute = float(input("시간(m) 입력: "))
distance = getDistance(speed, hour, minute)
print(f"{speed}(km/h)속도로 {hour}(h)시간 {minute}(m)분 동안 이동한 거리: {distance}(km)")
print("-" * 60)
def getTime(distance, speed):
time = distance / speed
print(f"time: {time}")
hour = int(time)
minute = int((time - hour) * 60)
return (hour, minute)
print("-" * 60)
distance = float(input("거리(km) 입력: "))
speed = float(input("속도(km/h) 입력: "))
time = getTime(distance, speed)
print(f"{speed}(km/h)속도로 {distance}(km) 이동한 시간: {time[0]}(h)시간 {time[1]}(m)분")
print("-" * 60)
childPrice = 18000
infantPrice = 25000
adultPrice = 50000
discount = 50
def formatted(n):
return format(n, ',')
def airplaneTicketReceipt(child1, child2, infant1, infant2, adult1, adult2):
print("=" * 40)
child_Ticket = child1 * childPrice
child_DiscountTicket = int(child2 * childPrice * (discount / 100))
infant_Ticket = infant1 * infantPrice
infant_DiscountTicket = int(infant2 * infantPrice * (discount / 100))
adult_Ticket = adult1 * adultPrice
adult_DiscountTicket = int(adult2 * adultPrice * (discount / 100))
print(f"유아 {child1}명 요금: {formatted(child_Ticket)}원")
print(f"유아 할인 대상 {child2}명 요금: {formatted(child_DiscountTicket)}원")
print(f"소아 {infant1}명 요금: {formatted(infant_Ticket)}원")
print(f"소아 할인 대상 {infant2}명 요금: {formatted(infant_DiscountTicket)}원")
print(f"성인 {adult1}명 요금: {formatted(adult_Ticket)}원")
print(f"성인 할인 대상 {adult2}명 요금: {formatted(adult_DiscountTicket)}원")
print("=" * 40)
print(f"Total: {child1 + child2 + infant1 + infant2 + adult1 + adult2}명")
print(f"TotalPrice: {formatted(child_Ticket + child_DiscountTicket + infant_Ticket + infant_DiscountTicket + adult_Ticket + adult_DiscountTicket)}원")
print("=" * 40)
print(f"childPrice(24개월 미만)\t\t : {formatted(childPrice)}원")
print(f"infantPrice(만12세 미만)\t\t : {formatted(infantPrice)}원")
print(f"adultPrice(만12세 이후)\t\t : {formatted(adultPrice)}원")
print(f"국가 유공자 및 장애우 할인\t\t : {discount}%")
print()
child = int(input("유아 입력: "))
childDiscount = int(input("할인대상 유아 입력: "))
infant = int(input("소아 입력: "))
infantDiscount = int(input("할인대상 소아 입력: "))
adult = int(input("성인 입력: "))
adultDiscount = int(input("할인대상 성인 입력: "))
airplaneTicketReceipt(child, childDiscount, infant, infantDiscount, adult, adultDiscount)
<팩토리얼 함수>
def formatted(n):
return format(n, ',')
def recursiveFunction(number):
if number == 1:
return number
return number * recursiveFunction(number-1)
inputNumber = int(input("input number: "))
print(formatted(recursiveFunction(inputNumber)))
<단리>
def formatted(n):
return format(n, ',')
def simpleInterest(money, term, rate):
totalMoney = 0
totalInterestMoney = 0
for i in range(term):
totalInterestMoney += money * (rate * 0.01)
totalMoney = money + totalInterestMoney
return int(totalMoney)
money = int(input("예치금(원): "))
term = int(input("기간(년): "))
rate = int(input("연 이율(%): "))
print()
print("[단리 계산기]")
print("=" * 30)
print(f"예치금\t: {formatted(money)}원")
print(f"예치기간\t: {term}년")
print(f"연 이율\t: {rate}%")
print("-" * 30)
print(f"3년 후 총 수령액: {formatted(simpleInterest(money, term, rate))}원")
print("=" * 30)
<복리>
def formatted(n):
return format(n, ',')
def multiInterest(money, term, rate):
term = term * 12
monthRate = (rate / 12) * 0.01
totalMoney = money
for i in range(term):
totalMoney = totalMoney + totalMoney * monthRate
return int(totalMoney)
money = int(input('예치금(원) : '))
term = int(input('기간(년) : '))
rate = int(input('연 이율(%) : '))
print()
print('[복리 계산기]')
print('=' * 30)
print(f'예치금\t: {formatted(money)}원')
print(f'예치기간\t: {term}년')
print(f'연 이율\t: {rate}%')
print('-' * 30)
print(f'{term}년 후 총 수령액 : {formatted(multiInterest(money, term, rate))}원')
print('=' * 30)
<등차수열_방법1>
def sequence(a1, d, n):
valueN = 0 # n항의 값
sumN = 0 # n항까지의 합의 값
i = 1
while i <= n:
if i == 1:
valueN = a1
sumN = valueN
print(f"{i}번째 항의 값: {valueN}")
print(f"{i}번째 항까지의 합: {sumN}")
i += 1
continue
valueN += d
sumN += valueN
print(f"{i}번째 항의 값: {valueN}")
print(f"{i}번째 항까지의 합: {sumN}")
i += 1
inputN1 = int(input("a1 입력: "))
inputD = int(input("공차 입력: "))
inputN = int(input("n 입력: "))
sequence(inputN1, inputD, inputN)
<등차수열_방법2>
inputN1 = int(input("a1 입력: "))
inputD = int(input("공차 입력: "))
inputN = int(input("n 입력: "))
valueN = 0
sumN = 0
n = 1
while n <= inputN:
if n == 1:
valueN = inputN1
sumN = valueN
print(f"{n}번째 항의 값: {valueN}")
print(f"{n}번째 항까지의 합: {sumN}")
n += 1
continue
valueN += inputD
sumN += valueN
print(f"{n}번째 항의 값: {valueN}")
print(f"{n}번째 항까지의 합: {sumN}")
n += 1
print(f"{inputN}번째 항의 값: {valueN}")
print(f"{inputN}번째 항까지의 합: {sumN}")
<등차수열_방법3>
def sequence(a1, d, n):
valueN = a1 + (n - 1) * d
print(f"{n}번째 항의 값 : {valueN}")
sumN = n * (a1 + valueN) / 2
print(f"{n}번째 항까지의 합: {int(sumN)}")
inputN1 = int(input("a1 입력: "))
inputD = int(input("공차 입력: "))
inputN = int(input("n 입력: "))
sequence(inputN1, inputD, inputN)
<등차수열_방법4>
inputN1 = int(input('a1 입력 : '))
inputD = int(input('공차 입력 : '))
inputN = int(input('n 입력 : '))
valueN = inputN1 + (inputN - 1) * inputD
print(f"{inputN}번째 항의 값 : {valueN}")
sumN = inputN * (inputN1 + valueN) / 2
print(f'{inputN}번째 항까지의 합 : {int(sumN)}')
<등비수열_방법1>
def geometric(a1, r, n):
valueN = 0
sumN = 0
i = 1
while i <= n:
if i == 1:
valueN = a1
sumN = valueN
print(f"{i}번째 항의 값 : {valueN}")
print(f"{i}번째 항까지의 합 : {sumN}")
i += 1
continue
valueN *= r
sumN += valueN
print(f"{i}번째 항의 값 : {valueN}")
print(f"{i}번째 항까지의 합 : {sumN}")
i += 1
inputN1 = int(input("a1: "))
inputR = int(input("r: "))
inputN = int(input("n: "))
geometric(inputN1, inputR, inputN)
<등비수열_방법2>
inputN1 = int(input("a1: "))
inputR = int(input("r: "))
inputN = int(input("n: "))
valueN = 0
sumN = 0
n = 1
while n <= inputN:
if n == 1:
valueN = inputN1
sumN = valueN
print(f"{n}번째 항의 값 : {valueN}")
print(f"{n}번째 항까지의 합 : {sumN}")
n += 1
continue
valueN *= inputR
sumN += valueN
print(f"{n}번째 항의 값 : {valueN}")
print(f"{n}번째 항까지의 합 : {sumN}")
n += 1
print(f"{inputN}번째 항의 값 : {valueN}")
print(f"{inputN}번째 항까지의 합 : {sumN}")
<등비수열_방법3>
inputN1 = int(input("a1: "))
inputR = int(input("r: "))
inputN = int(input("n: "))
valueN = inputN1 * (inputR ** (inputN - 1))
print(f"{inputN}번째 항의 값 : {valueN}")
sumN = inputN1 * (1 - inputR ** inputN) / (1 - inputR)
print(f"{inputN}번째 항까지의 합 : {int(sumN)}")
자료출처: 제로베이스 데이터 스쿨