상품 가격과 지불 금액을 입력하면 거스름 돈을 계산하는 프로그램을 만들어보자.
단, 거스름 돈은 지폐와 동전의 개수를 최소로 하고, 1원단위 절사한다.
money50000 = 50000; money10000 = 10000; money5000 = 5000; money1000 = 1000
money500 = 500; money100 = 100; money10 =10;
money50000Cnt = 0; money10000Cnt = 0; money5000Cnt = 0; money1000Cnt = 0
money500Cnt = 0; money100Cnt = 0; money10Cnt = 0;
productPrice = int(input('상품 가격 입력: '))
payPrice = int(input('지불 금액 : '))
if payPrice > productPrice:
changeMoney = payPrice - productPrice # 거스름 돈
changeMoney = (changeMoney // 10) * 10 # 1원 단위 절삭
print('거스름 돈: {}(원단위 절사)'.format(changeMoney))
if changeMoney > money50000:
money50000Cnt = changeMoney // money50000
changeMoney %= money50000
if changeMoney > money10000:
money10000Cnt = changeMoney // money10000
changeMoney %= money10000
if changeMoney > money5000:
money5000Cnt = changeMoney // money5000
changeMoney %= money5000
if changeMoney > money1000:
money1000Cnt = changeMoney // money1000
changeMoney %= money1000
if changeMoney > money500:
money500Cnt = changeMoney // money500
changeMoney %= money500
if changeMoney > money100:
money100Cnt = changeMoney // money100
changeMoney %= money100
if changeMoney > money10:
money10Cnt = changeMoney // money10
changeMoney %= money10
print('-' * 30)
print('50,000 {}장'.format(money50000))
print('10,000 {}장'.format(money10000))
print('5,000 {}장'.format(money5000))
print('1,000 {}장'.format(money1000))
print('500 {}개'.format(money500))
print('100 {}개'.format(money100))
print('10 {}개'.format(money10))
print('-' * 30)
왜 때문인지 결과값이 이상하게 출력되고 있다 재도전 해봐야 할 것 같다!
국어, 영어, 수학 점수 입력 후 총점, 평균, 최고점수 과목, 최저점수 과목,
그리고 최고 점수와 최저 점수의 차이를 각각 출력해보자
korScore = int(input('국어 점수 입력 : '))
engScore = int(input('영어 점수 입력 : '))
matScore = int(input('수학 점수 입력 : '))
totalScore = korScore + engScore + matScore
avgScore = totalScore / 3
maxScore = korScore
maxSubject = '국어'
if engScore > maxScore:
maxScore = engScore
maxSubject = '영어'
if matScore > maxScore:
maxScore = matScore
maxSubject = '수학'
minScore = korScore
minSubject = '국어'
if engScore < minScore:
minScore = engScore
minSubject = '영어'
if matScore < minScore:
minScore = matScore
minSubject = '수학'
difScore = maxScore - minScore
print('총점 : {}'.format(totalScore))
print('평균 : %.2f' % avgScore)
print('-' * 30)
print('최고 점수 과목(점수) : {}({})'.format(maxSubject, maxScore))
print('최저 점수 과목(점수) : {}({})'.format(minSubject, minScore))
print('최고, 최저 점수 차이 : {}'.format(difScore))
print('-' * 30)
시, 분, 초를 입력하면 초로 환산하는 프로그램을 만들어보자.
hou = int(input('시간 입력: '))
min = int(input('분 입력: '))
sec = int(input('초 입력: '))
print('{}초'.format(format(hou * 60 * 60 + min * 60 + sec, ','))) # format함수로 3자리씩 끊어준다 -> 문자로 인식
금액, 이율, 거치기간을 입력하면 복리계산하는 복리계산기 프로그램을 만들어보자.
money = int(input('금액 입력: '))
rate = float(input('이율 입력: '))
term = int(input('기간 입력: '))
targetMoney = money
for i in range(term):
# targetMoney * rate * 0.01 # 1년의 이자
targetMoney += (targetMoney * rate * 0.01) # 백분률 0.01 곱 !
targetMoneyFormated = format(int(targetMoney), ',')
print('-' * 30)
print('이율: {}'.format(rate))
print('원금: {}'.format(format(money),','))
print('{}년 후 금액: {}원'.format(term, targetMoneyFormated))
print('-' * 30)
고도가 60m 올라갈 때마다 기온이 0.8도 내려 간다고 할 때 고도를 입력하면 기온이 출력되는 프로그램을 만들어보자.(지면온도: 29도)
baseTemp = 29
step = 60
stepTemp = 0.8
height = int(input('고도 입력: '))
targetTemp = baseTemp - (height // step * 0.8)
if height % step != 0:
targetTemp -= stepTemp
print('지면 온도: {}도'.format(baseTemp))
print('고도 %dm의 기온: %.2f도' % (height, targetTemp))
197개의 빵과 152개의 우유를 17명의 학생한테 동일하게 나눠 준다고 할 때,
한 명의 학생이 갖게 되는 빵과 우유 개수를 구하고 남는 빵과 우유 개수를 출력하자.
bread = 197
milk = 152
studentCnt = 17
print('학생 한명이 갖게되는 빵 개수 : {}'.format(bread // studentCnt))
print('학생 한명이 갖게되는 우유 개수 : {}'.format(milk // studentCnt))
print('남는 빵 개수 : {}'.format(bread % studentCnt))
print('남는 우유 개수 : {}'.format(milk % studentCnt))
다음 내용을 참고해서 백신 접종 대상자를 구분하기 위한 프로그램을 만들어 보자.
'19세 이하 또는 65세 이상 이면 출생 연도 끝자리에 따른 접종
그렇지 않으면 하반기 일정 확인'
inputAge = int(input('나이 입력: '))
if inputAge <= 19 or inputAge >= 65:
endNum = int(input('출생 연도 끝자리 입력: '))
if endNum == 1 or endNum == 6:
print('월요일 접종 가능!!')
elif endNum == 2 or endNum == 7:
print('화요일 접종 가능!!')
elif endNum == 3 or endNum == 8:
print('수요일 접종 가능!!')
elif endNum == 4 or endNum == 9:
print('목요일 접종 가능!!')
elif endNum == 5 or endNum == 0:
print('금요일 접종 가능!!')
else:
print('하반기 일정 확인하세요.')
길이(mm)를 입력하면 inch로 환산하는 프로그램을 만들어보자.(1mm = 0.039 inch)
byInch = 0.039
lengthMM = int(input('길이(mm) 입력: '))
lengthInch = lengthMM * byInch
byFeet = 0.00328084
lengthFeet = lengthMM * byFeet
print('{}mm -> {}inch'.format(lengthMM, lengthInch))
print('{}mm -> {}feet'.format(lengthMM, lengthFeet))
이 글은 제로베이스 데이터 취업 스쿨의 강의자료 일부를 발췌하여 작성되었습니다.