[Python 기초 문제풀이]
- 연산자(01-05)
연산자(01)
#상품 가격과 지불 금액을 입력하면, 거스름돈을 계산하는 프로그램을 만들어보자. #단,거스름돈은 지폐와 동전의 개수를 최소로 하고,1원단위 절사한다. #지폐,동전 구성 #지폐:50,000원 , 10,000원, 5,000원, 1,000원 #동전: 500원 , 100원, 10원 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 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(money50000Cnt)) print('10,000 {}장'.format(money10000Cnt)) print('5,000 {}장'.format(money5000Cnt)) print('1,000 {}장'.format(money1000Cnt)) print('500 {}개'.format(money500Cnt)) print('100 {}개'.format(money100Cnt)) print('10 {}개'.format(money10Cnt)) print('-' *30) 상품 가격 입력 : 35862 지불 금액 : 100000 거스름 돈: 64130(원단위 절사) ------------------------------ 50,000 1장 10,000 1장 5,000 0장 1,000 4장 500 0개 100 1개 10 3개 ------------------------------➜ 지폐별 변수 지정 및 지폐 가격 기입
➜ 지폐별 몇장이 필요한지 기입할 변수 생성
ㄴ ex)money10000cnt➜ 거스름돈 // 지폐별금액 => 몫은 지폐별 몇장이 필요한지 반환
➜ 거스름돈 % 지폐별금액 => 나머지는 거스름돈연산자(02)
kor= int(input('국어 점수 입력: ')) eng= int(input('영어 점수 입력: ')) mat= int(input('수학 점수 입력: ')) totalScore= kor+eng+mat avgScore =totalScore/3 print('총점: {}'.format(totalScore)) print('평균: %.2f' %avgScore) print('-' * 40) maxScore= kor maxSub='국어' if eng > maxScore: maxScore = eng maxSub = '영어' if mat > maxScore: maxScore = mat maxSub ='수학' minScore = kor minSub ='국어' if eng < minScore: minScore = eng minSub ='영어' if mat < minScore: minScore=mat minSub= mat difScore= maxScore -minScore print('최고 점수 과목(점수): {}({})'.format(maxSub,maxScore)) print('최저 점수 과목(점수): {}({})'.format(minSub,minScore)) print('최고, 최저 점수 차이 : {}'.format(difScore)) 국어 점수 입력: 67 영어 점수 입력: 85 수학 점수 입력: 90 총점: 242 평균: 80.67 ---------------------------------------- 최고 점수 과목(점수): 수학(90) 최저 점수 과목(점수): 국어(67) 최고, 최저 점수 차이 : 23➜ 어느 하나의 과목이 최대 혹은 최저 점수라고 설정하고,조건문 작성을 통해서 결과 반환
연산자(03)
# 1.시,분,초를 입력하면 초로 환산하는 프로그램을 만들어보자. hou =int(input('시간 입력: : ')) min =int(input('분 입력: : ')) sec =int(input('초 입력: : ')) print('{}초'.format(format(hou *60 * 60 + (min *60) +sec, ','))) 시간 입력: : 9 분 입력: : 45 초 입력: : 51 35,151초 # 2.금액, 이율, 거치기간을 입력하면 복리계산하는 복리계산기 프로그램을 만들어보자. money=int(input('금액 입력 : ')) rate=float(input('이율 입력 : ')) term=int(input('기간 입력 : ')) finalMoney = money print('-' * 30) for i in range(term): finalMoney += (finalMoney * rate *0.01) finalMoneyf = format(int(finalMoney),',') print('이율: {}%'.format(rate)) print('원금: {}원'.format(format(money,','))) print('{}년 후 금액 : {}원'.format(term,finalMoneyf)) print('-' * 30) 금액 입력 : 1500000 이율 입력 : 4.3 기간 입력 : 5 ------------------------------ 이율: 4.3% 원금: 1,500,000원 5년 후 금액 : 1,851,453원 ------------------------------➜ 천만원 단위 콤마(,) 표현하기
➜ format(number, ',')
➜ 이후 해당 결과의 타입은 str으로 계산은 어렵다.연산자(04)
#1.고도가 60m올라갈때마다 기온이 0.8도 내려간다고 할때 고도를 입력하면 기온이 출력되는 프로그램을 만들어 보자.(지면온도: 29도) baseTemp=29 step =60 stepTemp =0.8 heigt =int(input('고도 입력: ')) targetTemp = baseTemp- (heigt // step *0.8) if heigt % step !=0: targetTemp-=stepTemp print('지면 온도: 29') print('고도 %dm의 기온: %.2f' % (heigt,targetTemp)) 고도 입력: 720 지면 온도: 29 고도 720m의 기온: 19.40 #1.197개의 빵과 152개의 우유를 17명의 학생한테 동일하게 나눠 준다고 할 때, 한 명의 학생이 갖게 되는 빵과 우유 개수를 구하고 남는 빵과 우유 개수를 출력하자. milk =152 student =17 print('학생 한명이 갖게되는 빵 개수 : {}'.format( bread //student)) print('학생 한명이 갖게되는 우유 개수 : {}'.format(milk //student)) print('남는 빵 개수 : {}'.format(bread % student)) print('남는 우유 개수 : {}'.format(milk % student)) 학생 한명이 갖게되는 빵 개수 : 11 학생 한명이 갖게되는 우유 개수 : 8 남는 빵 개수 : 10 남는 우유 개수 : 16연산자(05)
#1.다음 내용을 참고해서 백신 접종 대상자를 구분하기 위한 프로그램을 만들어 보자. myInput=int(input('나의 입력 : ')) if myInput <= 19 or myInput >=65: birthInput = int(input('출생 연도 끝자리 입력: ')) if birthInput ==1 or birthInput == 6: print('월요일 접종 가능!!') elif birthInput ==2 or birthInput ==7: print('화요일 접종 가능 !!') elif birthInput ==3 or birthInput ==8: print('수요일 접종 가능!!') elif birthInput == 4 or birthInput == 9: print('목요일 접종 가능!!') elif birthInput == 5 or birthInput == 10: print('금요일 접종 가능!!') else: print('하반기 일정 확인하세요.') 나의 입력 : 65 출생 연도 끝자리 입력: 4 목요일 접종 가능!! #2.길이(mm)를 입력하면 inch로 환산하는 프로그램을 만들어보자. (1mm = 0.039inch) length = int(input('길이(mm) 입력 :')) inchNum= length *0.039 print(' {}mm -> {}inch'.format(length,inchNum)) 길이(mm) 입력 :18 18mm -> 0.702inch