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.종료 ')) if selectNum == 8: print('Bye~') break
num1 = float(input('첫 번째 숫자 입력: ')) num2 = float(input('두 번째 숫자 입력: '))
if selectNum == 1: print('num1 + num2 = {}'.format(add(num1, num2))) elif selectNum == 2: print('num1 + num2 = {}'.format(sub(num1, num2))) elif selectNum == 3: print('num1 + num2 = {}'.format(mul(num1, num2))) elif selectNum == 4: print('num1 + num2 = {}'.format(div(num1, num2))) elif selectNum == 5: print('num1 + num2 = {}'.format(mod(num1, num2))) elif selectNum == 6: print('num1 + num2 = {}'.format(flo(num1, num2))) elif selectNum == 7: print('num1 + num2 = {}'.format(exp(num1, num2))) else: print('잘못 입력했습니다. 다시 입력하세요.') print('-' * 60)
이동 거리
def getDistance(speed, hour, minute): distance = speed * (hour + minute / 60) return distance
print('-' * 60) s = float(input('속도(km/h) 입력: ')) h = float(input('시간(h) 입력: ')) m = float(input('시간(m) 입력: ')) d = getDistance(s, h, m) print('{}(km/h)속도로 {}(h)시간 {}(m)분 동안 이동한 거리: {}(km)'.format(s, h, m, d)) print('-' * 60)
이동 시간
def getTime(speed, distance): time = distance / speed print(f'time: {time}') h = int(time) m = int((time - h) * 100 * 60 / 100) # m = convertFloatToMinute(time - h) return [h, m]
print('-' * 60) s = float(input('속도(km/h) 입력: ')) d = float(input('거리(km) 입력: ')) t = getTime(s, d) print('{}(km/h) 속도로 {}(km) 이동한 시간: {}(h)시간 {}(m)분'.format(s, d, t[0], t[1])) print('-' * 60)
childPrice = 18000 infantPrice = 25000 adultPrice = 50000 specialDC = 50
def printAirPlaneReceipt(c1, c2, i1, i2, a1, a2): cp = c1 * childPrice cp_dc = int(c2 * childPrice * 0.5) print('유아 {}명 요금: {}'.format(c1, cp)) print('유아 할인 대상 {}명 요금: {}원'.format(c2, cp_dc))
ip = i1 * infantPrice ip_dc = int(i2 * infantPrice * 0.5) print('소아 {}명 요금: {}'.format(i1, ip)) print('소아 할인 대상 {}명 요금: {}원'.format(i2, ip_dc))
ap = a1 * adultPrice ap_dc = int(a2 * adultPrice * 0.5) print('성인 {}명 요금: {}'.format(a1, ap)) print('성인 할인 대상 {}명 요금: {}원'.format(a2, ap_dc))
print('=' * 40) print('Total: {}명'.format(c1 + c2 + i1 + i2 + a1 + a2)) print('TotalPrice : {}원'.format(cp + cp_dc + ip + ip_dc + ap + ap_dc)) print('=' * 40)
childCnt = int(input('유아 입력: ')) specialDCChildCnt = int(input('할인대상 유아 입력: ')) infantCnt = int(input('소아 입력: ')) specialDCInfantCnt = int(input('할인대상 소아 입력: ')) adultCnt = int(input('성인 입력: ')) specialDCAdultCnt = int(input('할인대상 성인 입력: ')) printAirPlaneReceipt(childCnt, specialDCChildCnt, infantCnt, specialDCInfantCnt, adultCnt, specialDCAdultCnt)
def formatedNumber(n): return format(n, ',')
def recursionFun(n): if n == 1: return n return n * recursionFun(n - 1)
inputNumber = int(input('input number: ')) inputNumberFormated = formatedNumber(recursionFun(inputNumber)) print(inputNumberFormated)
단리 계산기
def singleRateCalculator(m, t, r): totalMoney = 0 totalRateMoney = 0
for i in range(t): totalRateMoney += m * (r * 0.01) totalMoney = m + totalRateMoney return int(totalMoney)
money = int(input('예치금(원): ')) term = int(input('기간(년): ')) rate = int(input('연 이율(%): '))
print() print('[단리 계산기]') print('=' * 30) print('예치금\t: {}원'.format(money)) print('예치기간\t: {}년'.format(term)) print('연 이율\t: {}%'.format(rate)) print('-' * 30) amount = singleRateCalculator(money, term, rate) print('{}년 후 총 수령액: {}원'.format(term, amount)) print('=' * 30)
월복리 계산기
def multiRateCalculator(m, t, r): t = t * 12 rpm = (r / 12) * 0.01 totalMoney = m
for i in range(t): totalMoney += totalMoney * rpm return int(totalMoney)
money = int(input('예치금(원): ')) term = int(input('기간(년): ')) rate = int(input('연 이율(%): '))
print() print('[월복리 계산기]') print('=' * 30) print('예치금\t: {}원'.format(money)) print('예치기간\t: {}년'.format(term)) print('연 이율\t: {}%'.format(rate)) print('-' * 30) amount = multiRateCalculator(money, term, rate) print('{}년 후 총 수령액: {}원'.format(term, amount)) print('=' * 30)
def sequenceCal(n1, d, n): valueN = 0 sumN = 0 i = 1
while i <= n: if i == 1: valueN = n1 sumN += valueN print('{}번째 항의 값: {}'.format(i, valueN)) print('{}번째 항까지의 합: {}'.format(i, sumN)) i += 1 continue valueN += d sumN += valueN print('{}번째 항의 값: {}'.format(i, valueN)) print('{}번째 항까지의 합: {}'.format(i, sumN)) i += 1
inputN1 = int(input('a1 입력: ')) inputD = int(input('공차 입력: ')) inputN = int(input('n 입력: ')) sequenceCal(inputN1, inputD, inputN)
def sequenceCal(n1, r, n): valueN = 0 sumN = 0 i = 1
while i <= inputN: if i == 1: valueN = n1 sumN += valueN print('{}번째 항의 값: {}'.format(i, valueN)) print('{}번째 항까지의 합: {}'.format(i, sumN)) i += 1 continue valueN *= r sumN += valueN print('{}번째 항의 값: {}'.format(i, valueN)) print('{}번째 항까지의 합: {}'.format(i, sumN)) i += 1
inputN1 = int(input('a1 입력: ')) inputR = int(input('공비 입력: ')) inputN = int(input('n 입력: ')) sequenceCal(inputN1, inputR, inputN)
오늘 배운 것들 중에 가장 재미있었던 부분은 텍스트 파일 쓰기, 읽기, 열기 였다
지금까지 배운 내용과 연결은 되지만 좀 다른종류의 느낌이어서 더 새롭고 배우는 내내 재미있었다
무엇보다 직접 텍스트 파일을 만드는것이 아닌 Pycharm에서 코드만으로 텍스트 파일을 만들 수 있는것이 신기했다
중급 강의 이후에 문제풀이에 돌입하니 정말 뭐가뭔지 모르겠는 강의가 많았다
문제풀이에서는 응용부분만 해도 어려운데 중간중간 처음보는 것들이 나와버릴때는 이해하는데 시간을 꽤 오래썼다
시간이 너무 없으니 조급한 마음도 생긴다
그리고 가면 갈수록 너무 어려워져서 기본적인 개념이 꽉 잡혀있지 않으면 계속 돌아가야 하는 일이 생기는것 같다
많이 못하더라도 꼼꼼히 해둬야겠다
내일은 46 ~ 59 문제풀이를 풀 예정이다