📌 파이썬 연습문제 [데이터와 변수]
📋주문 확인서 프로그램
import datetime
name = input('고객 이름 : ')
product = input('상품명 : ')
orderNum = input('주문 번호 : ')
cardOrMoney = input('결재 방법 : ')
price = input('상품 금액 : ')
payMent = input('결재 금액 : ')
point = input('포인트 : ')
data = datetime.datetime.today()
installment = input('할부 : ')
print( )
print(f'{name} 고객님 안녕하세요.')
print(f'{name} 고객님의 주문이 완료되었습니다.')
print('다음은 주문건에 대한 상세 내역입니다.')
print('-' * 25)
print(f'상품명 : {product}')
print(f'주문번호 : {orderNum}')
print(f'결재방법 : {cardOrMoney}')
print(f'상품금액 : {price}')
print(f'결재금액 : {payMent}')
print(f'포인트 : {point}')
print(f'결제일시 : {data}')
print(f'할부 : {installment}')
print('할부유형 : 무')
print('문의 : 02-1234-5678')
📋사용자가 입력한 데이터의 길이를 출력하는 프로그램
message = input('메시지 입력 : ')
print(f'메시지 문자열 길이 : {len(message)}')
article = '파이썬(영어: Python)은 1991년 프로그래머인 귀도 반 로섬이 발표한 고급 프로그래밍 언어로, ' \
'플랫폼에 독립적이며 인터프리터식, 객체지향적, 동적 타이핑(dynamically typed) 대화형 언어이다. ' \
'파이썬이라는 이름은 귀도가 좋아하는 코미디 〈Monty Python\'s Flying Circus〉에서 따온 것이다.'
findStr = '객체지향'
print(f'{findStr} 문자열 위치 : {article.find(findStr)}')
📋 삼각형의 넓이 구하기
width = float(input('가로 길이 : '))
height = float(input('세로 길이 : '))
print(f'사각형 넓이 : {width * height}')
print(f'삼각형 넓이 : {width * height / 2}')
📋 원의 반지름 입력 하여 넓이와 둘레 길이 출력 : TypeError 발생
pi = 3.14
radius = int(input('원의 반지름 입력 : '))
print('원의 넓이 : %d' % int(radius * radius * pi))
print('원 둘레 길이 : %d' % int(radius * 2 * pi))
❗TypeError: can't multiply sequence by non-int of type 'float'
print('원의 넓이 : %.1f' % float(radius * radius * pi))
print('원의 둘레 길이 : %.1f' % float(radius * 2 * pi))
print('원의 넓이 : %.3f' % float(radius * radius * pi))
print('원의 둘레 길이 : %.3f' % float(radius * 2 * pi))
------------------------------------------------------------
❗변수 설정 후 print() 입력 시 error 발생 안함
pi = 3.14
radius = int(input('원의 반지름 입력 : '))
circleArea = radius * radius * pi
circleLength = radius * 2 * pi
print('원의 넓이 : %d' % circleArea)
print('원 둘레 길이 : %d' % circleLength)
print('원의 넓이 : %.1f' % circleArea)
print('원의 둘레 길이 : %.1f' % circleLength)
print('원의 넓이 : %.3f' % circleArea)
print('원의 둘레 길이 : %.3f' % circleLength)
📋 개인정보 입력 받기
name = input('이름 입력 : ')
mail = input('메일 입력 : ')
id = input('아이디 입력: ')
password = input('패스워드 입력: ')
num1 = input('주민번호 앞자리 입력: ')
num2 = input('주민번호 뒷자리 입력: ')
address = input('주소 입력: ')
print('-' * 20)
print()
print(f'이름 : {name}')
print(f'메일 : {mail}')
print(f'아이디 : {id}')
print('패스워드 : {}'.format('*' * len(password)))
print(f'주민번호 : {num1} - {num2[0]}******')
print(f'주소 : {address}')
print()
print('-' * 20)
📋 체중과 신장을 입력하면 BMI지수가 출력되는 프로그램
weight = input('체중 입력(g) : ')
height = input('신장 입력(cm) : ')
if weight.isdigit() and height.isdigit():
weight = int(weight) * 0.1
height = int(height) * 0.01
print('체중 : %.2fkg' % weight)
print('신장 : %.2fm' % height)
bmi = weight / (height * height)
print('BMI : %.2f' % float(bmi))
else:
print('숫자를 입력하세요.')
📋 위치 바꾸기
num1 = 10
num2 = 20
print('num1 : {1} , num2 : {0}'.format(num1, num2))
📋 총점과 평균이 출력되는 프로그램
mid = input('중간고사 점수 : ')
if mid.isdigit():
pass
else:
print('잘못 입력했습니다.')
exit()
final = input('기말고사 점수 : ')
if final.isdigit():
pass
else:
print('잘못 입력했습니다.')
exit()
total = int(mid) + int(final)
avg = total / 2
print(f'총점 : {total}, 평균 : {avg} ')
📋 키오스크에서 사용하는 언어 선택 프로그램을 만들어보자
import datetime
selectNum = int(input('언어 선택 (Choose Your Language) | 1. 한국어 2. English : '))
if selectNum == 1:
menu = '1.샌드위치 \t 2.햄버거 \t 3.쥬스 \t 4.커피 \t 5.아이스크림'
elif selectNum == 2:
menu = '1.Sandwich \t 2.Hamburger \t 3.Juice \t 4.Coffee \t 5.Ice cream'
print(menu)
📋 나의 나이가 100살 되는 해의 연도를 구하는 프로그램을 만들어보자
age = int(input('나이 입력 : '))
year = datetime.date.today().year
if age < 100:
print(f"{year + (100 - age)}년 ({100 - age}년 후)에 100살!!")
else:
print("100세 미만만 입력 가능 ")
📌 파이썬 연습문제 [연산자]
📋 상품 가격과 지불 금액을 입력하면 거스름 돈을 계산하는 프로그램
📋 단, 거스름돈은 지폐와 동전의 개수를 최소, 1원단위로 절사
productPrice = input('상품 가격 입력 : ')
payPrice = input('지불 금액 : ')
cahrge = 0
if productPrice.isdigit() and payPrice.isdigit():
if int(productPrice) < int(payPrice):
charge = int(payPrice) - int(productPrice)
print('거스름 돈 : %d' % charge)
print('-' * 20)
charge50000 = charge / 50000
charge10000 = (charge % 50000) / 10000
charge5000 = (charge % 10000) / 5000
charge1000 = (charge % 5000) / 1000
charge500 = (charge % 1000) / 500
charge100 = (charge % 500) / 100
charge10 = (charge % 100) / 10
print("5,0000 %d장" % charge50000)
print(f"1,0000 %d장" % charge10000)
print(f"5000 %d장" % charge5000)
print(f"1000 %d장" % charge1000)
print(f"500 %d장" % charge500)
print(f"100 %d장" % charge100)
print(f"10 %d장" % charge10)
print('-' * 20)
else:
print('지불 금액이 모자릅니다.')
else:
print('숫자를 입력하세요.')
📋 국어, 영어, 수학 점수 입력 후 촘점, 평균, 최고점수 과목, 최저점수 과목과 최고 최저 점수 차이 츨력
import operator
korScore = int(input('국어 점수 입력 : '))
engScore = int(input('영어 점수 입력 : '))
mathScore = int(input('수학 점수 입력 : '))
total = korScore + engScore + mathScore
avg = operator.truediv(total, 3)
print('-' * 30)
maxScore = korScore
minScore = korScore
maxSubject = "국어"
minSubject = "국어"
if maxScore < mathScore:
maxScore = mathScore
maxSubject = '수학'
if maxScore < engScore:
maxScore = engScore
maxSubject = '영어'
if minScore > mathScore:
minScore = mathScore
minSubject = '수학'
if minScore > engScore:
minScore = engScore
minSubject = '영어'
print(f'총점 : {total}')
print('평균 : %.2f' % avg)
print(f'최고 점수 : {maxSubject}')
print(f'최저 점수 : {minSubject}')
print(f'최고점수 - 최저점수 : {maxScore - minScore}')
print('-' * 30
📋 시, 분, 초를 입력하면 초로 환산하는 프로그램
import operator
hour = int(input('시간 입력 : '))
min = int(input('분 입력 : '))
sec = int(input('초 입력 : '))
totalSec = hour * operator.pow(60, 2) + min * 60 + sec
print('{} 초'.format(format(totalSec, ',')))
📋 금액, 이율, 거치 기간을 입력하면 복리를 계산하는 프로그램
money = int(input('금액 입력 : '))
percent = float(input('이율 입력 : '))
date = int(input('기간 입력 : '))
print()
print('-' * 30)
print()
targetMoney = money
for i in range(date):
targetMoney += targetMoney * percent * 0.01
print(f'이율 : {percent}%')
print('원금 : {}'.format(format(money, ',')))
print('5년 후 금액 :', format(int(targetMoney), ','))
📋 고도가 60m 씩 올라갈 때마다 기온이 0.8도 내려갈 경우 기온 출력 프로그램 (지면온도 : 29)
baseTemp = 29
step = 60
stepTemp = 0.8
height = int(input('고도 입력 : '))
temp = int(input('지면 온도 : '))
targetTemp = baseTemp - (height / 60 * stepTemp)
print(f'고도 {height}의 기온 : {targetTemp}')
📋 197개의 빵과 152개의 우유를 17명의 학생한테 동일하게 나눠 줄 경우 한명의 학생이 갖게 되는 빵과 우유의 개수와 남은 빵과 우유의 개수 구하기
bread = 197
milk = 152
student = 17
breadCnt = bread / student
milkCnt = milk / student
breadRest = bread % student
milkRest = milk % student
print(f'학생 한명 당 갖게 되는 빵 : {int(breadCnt)}')
print(f'학생 한명 당 갖게 되는 우유 : {int(milkCnt)}')
print(f'남은 우유 : {milkRest}')
print(f'남은 빵 : {breadRest}')
📋 백신 접종 대상자 구분 프로그램
📋 19세 이하 또는 65세 이상이면 출생 연도 끝자리(4,2,0)에 따른 접종 그렇지 않으면 일정 확인
age = int(input('나이 입력 : '))
if age <= 19 or age >= 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로 환산하는 프로그램
byInch = 0.039
lengthMM = int(input('길이(mm) 입력 : '))
lengthInch = lengthMM * byInch
print(f'{lengthMM}mm -> {lengthInch}inch')