[Python][기초] 연습 문제_데이터와 변수_연산자

·2023년 3월 3일
0

[Python] 연습 문제

목록 보기
1/12
post-thumbnail

📌 파이썬 연습문제 [데이터와 변수]

📋주문 확인서 프로그램
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')
profile
개발하고싶은사람

0개의 댓글