대학교 수업/Python

3.4 새내기파이썬 3단원 - 프로그래밍

kicdor 2024. 4. 29. 15:35
반응형

1) 하루 매출 계산 프로그램을 작성하라   (복합 할당 연산자 += 사용)

우유 가격 : 2000

콜라 가격 : 1000

김밥 가격 : 3000

판매된 우유 개수 : 3

판매된 콜라 개수 : 2

판매된 김밥 개수 : 5

오늘 매출은 23000 입니다.

: total = 0

milk_price = int(input("우유 가격 : "))

cola_price = int(input("콜라 가격 : "))

krice_price = int(input("김밥 가격 : "))

 

milk_count = int(input("판매된 우유 개수 : "))

cola_count = int(input("판매된 콜라 개수 : "))

krice_count = int(input("판매된 김밥 개수 : "))

 

total += milk_price*milk_count

total += cola_price*cola_count

total += krice_price*krice_count

print(f"오늘 매출은 {total} 입니다.")

 

 

2) 평균 성적 계산 프로그램 (3과목) (소수점 2번쨰 자리까지)

국어 성적 : 90

수학 성적 : 95

영어 성적 : 93

평균 성적은 92.67 입니다.

: score1 = int(input("국어 성적 : "))

score2 = int(input("수학 성적 : "))

score3 = int(input("영어 성적 : "))

 

avg = (score1 + score2 + score3)/3.0                  (3이어도 )

print(f"평균 성적은 {avg:.02f} 입니다.")

 

 

3) 부가가치세 계산 프로그램   (부가세 7.5%) (round() 이용하여 소수점 두번째까지 계산)

상품의 가격을 입력하시오 : 12345

부가세는 925.88

: price = int(input("상품의 가격을 입력하시오 : "))

tax = price*0.075

tax = round(tax, 2)

print(f"부가세는 {tax} ")

 

 

4)  산수 퀴즈를 만들어보자

맞춰보시지

2+5+4+6 = 17

True

5*3-4+9 = 3

False

4**3-9*2 = 5

False

:print(" 맞춰보시지")

 

ans = int(input("2+5+4+6 = "))

print(ans==2+5+4+6)

ans = int(input("5*3-4+9 = "))

print(ans==5*3-4+9)

ans = int(input("4**3-9*2 = "))

print(ans==4**3-9*2)

 

 

5) 단답형 문제 채점 프로그램

내가 요새 만날 먹는 음식은? : 요거트

내가 지금 ㅈ된 과목은? : 인기초

나이는? (숫자만 쓰세용): 26

당신의 점수는 3 만점에 3!!

: score = 0

ans = input("내가 요새 만날 먹는 음식은? : ")

score += int(ans=="요거트")

ans = input("내가 지금 ㅈ된 과목은? : ")

score += int(ans=="인기초")

score += int(ans=="인터넷기초")

score += int(ans=="html")

ans = int(input(" 나이는? (숫자만 쓰세용): "))

score += int(ans==26)

print(f"당신의 점수는 3 만점에 {score}!!")

 

 

6) 명왕성까지의 시간 계산 (속도=300000.0, 거리=4800000000.0, 시간 ()= 거리/속력)

4시간 26

: speed = 300000.0

distance = 4800000000.0

sec = distance / speed                                     #sec xx.xxxxxx초로 나옴.

sec = int(sec)                                                    #sec xx초로 변경 (정수)

time = sec//3600                                             #그냥 / 하면 소수점 나옴. (// = 정수나눗셈)

minute = (sec%3600)//60                              #(초를 3600으로 나눈 나머지) // 60

print(f"{time}시간 {minute}")

 

 

7) 상점에서 필요한 계산기  (거스름돈 계산)

가격 : 10000

개수 : 3

할인율(%) : 10

받은 금액 : 50000

거스름돈 : 23000.0

: price = int(input("가격 : "))

count = int(input("개수 : "))

discount = int(input("할인율(%) : "))/100.0

total = price*count - price*count*discount

 

payment = int(input("받은 금액 : "))

change = payment - total

print(f"거스름돈 : {change} ")

 

 

8) 자동 판매기 시뮬레이션 프로그램

가격 : 750

받은 금액 : 1000

거스름돈은 아래와 같습니다

500 0, 100 2, 10 5, 1 0

: price = int(input("가격 : "))

payment = int(input("받은 금액 : "))

change = payment - price

 

a = change//500

b = (change%500)//100

c = (change - a*500 - b*100)//10

d = (change - a*500 - b*100)%10

print("거스름돈은 아래와 같습니다")

print(f"500 {a}, 100 {b}, 10 {c}, 1 {d}")

 

<sol2>

price = int(input("가격 : "))

payment = int(input("받은 금액 : "))

change = payment - price

 

a = change//500

change = change%500

 

b = change//100

change = change%100

 

c = change//10

change = change%10

 

d = change

print("거스름돈은 아래와 같습니다")

print(f"500 {a}, 100 {b}, 10 {c}, 1 {d}")

 

 

9) 상점계산기 최종 버전

상품 가격 : 9000

상품 개수 : 3

세금(%) : 10

봉사료(%) : 5

전체 가격 = 31050.0

받은 금액 : 50000

거스름돈 : 18950.0

 10000 지폐의 개수 : 1

5000 지폐의 개수 : 1

1000 지폐의 개수 : 3

500 지폐의 개수 : 1

100 지폐의 개수 : 4

50 지폐의 개수 : 1

: price = int(input("상품 가격 : "))

count = int(input("상품 개수 : "))

tax = int(input("세금(%) : "))/100

bongsa = int(input("봉사료(%) : "))/100

total = price*count

total = total + total*tax + total*bongsa

print(f"전체 가격 = {total}")

 

payment = int(input("받은 금액 : "))

change = payment - total

print(f"거스름돈 : {change}")

 

a = int(change//10000)

change %= 10000

 

b = int(change//5000)

change %= 5000

 

c = int(change//1000)

change %= 1000

 

d = int(change//500)

change %= 500

 

e = int(change//100)

change %= 100

 

f = int(change//50)

change %= 50

 

print(f""" 10000 지폐의 개수 : {a}

5000 지폐의 개수 : {b}

1000 지폐의 개수 : {c}

500 지폐의 개수 : {d}

100 지폐의 개수 : {e}

50 지폐의 개수 : {f}""")

 

 

10) 첫번째 정수 입력 : 8

두번째 정수 입력 : 2

수의 : 10

수의 : 6

수의 : 16

수의 평균 : 5.0

: 8

작은 : 2

: x = int(input("첫번째 정수 입력 : "))

y = int(input("두번째 정수 입력 : "))

print(" 수의 :",x+y)

print(" 수의 :",x-y)

print(" 수의 :",x*y)

print(" 수의 평균 :",(x+y)/2)

print(" :", max(x,y))

print("작은 :",min(x,y))

 

 

11) 과자 나눠주기

과자의 개수 : 52

사람당 나우어주는 과자 개수 : 3

최대 17명에게 나누어줄 있습니다.

남는 과자는 1 입니다

: snack = int(input("과자의 개수 : "))

count = int(input(" 사람당 나우어주는 과자 개수 : "))

num = snack//count

q = snack%count

print(f"""최대 {num}명에게 나누어줄 있습니다.

남는 과자는 {q} 입니다""")

 

 

12) 철수 첫날 일급 1. 이후 30 동안 전날의 2배씩 받음. 30 지난 일당은? (거듭제곱 연산자 사용)

철수가 받을 30 후의 일당 : 1073741824

: print("철수가 받을 30 후의 일당 :",1*(2**30))

 

 

13) 삼각형의 나머지 변의 최대 길이 계산

삼각형의 번째 변의 길이 : 8

삼각형의 번째 변의 길이 : 10

삼각형의 나머지 변의 최대 길이 : 17

: x = int(input("삼각형의 번째 변의 길이 : "))

y = int(input("삼각형의 번째 변의 길이 : "))

z = x + y - 1

print(f"삼각형의 나머지 변의 최대 길이 : {z}")

 

 

14) 시간과 분을 초로 변경

시간을 입력하라 : 1

분을 입력하라 : 3

1시간 3분은 3780초입니다

: time = int(input("시간을 입력하라 : "))

minute = int(input("분을 입력하라 : "))

sec = time*3600 + minute*60

print(f"{time}시간 {minute}분은 {sec}초입니다")

 

 

15) (x+y)^2 프로그램 작성

x 값을 입력하라 : 4

y 값을 입력하라 : 3

(4+3)^2 = 49

: x = int(input("x 값을 입력하라 : "))

y = int(input("y 값을 입력하라 : "))

result = (x+y)**2

print(f"({x}+{y})^2 = {result}")

 

 

16) 화씨 온도를 섭씨 온도로 변환

화씨 온도를 입력하라 : 100

화씨 100도는 섭씨 37.77777777777778도에 해당합니다.

: f = int(input("화씨 온도를 입력하라 : "))

c = (f - 32.0)*5/9

print(f"화씨 {f}도는 섭씨 {c}도에 해당합니다.")

 

 

17) 점의 좌표 (x1, y1) (x2,y2) 입력 받아서

사이의 거리 계산

x1 = 0

y1 = 0

x2 = 100

y2 = 100

사이의 거리 = 141.4213562373095

: from math import sqrt

x1 = int(input("x1 = "))

y1 = int(input("y1 = "))

x2 = int(input("x2 = "))

y2 = int(input("y2 = "))

result = sqrt((x1-x2)**2 + (y1-y2)**2)

print(f" 사이의 거리 = {result}")

 

 

18)             8 문제 터틀로 확인

: import turtle

t = turtle.Turtle()

t.shape("turtle")

 

t.goto(0,0)

t.lt(45)

t.fd(141)

t.goto(0,0)

t.rt(45)

t.fd(100)

t.lt(90)

t.fd(100)

turtle.done()

 

 

19) 4자리 정수 받고 자리수 더하기

네자리 정수를 입력 : 1234

10

: x=int(input("네자리 정수를 입력 : "))

 

a=x//1000

x%=1000

 

b=x//100

x%=100

 

c=x//10

x%=10

 

d=x

 

print(a+b+c+d)

 

 

20) a,b 바꾸기

첫번째 정수 : 10

두번째 정수 : 20

바꾸기 : a = 10, b = 20

바꾸기  : a = 20, b = 10

: a = int(input("첫번째 정수 : "))

b = int(input("두번째 정수 : "))

print(f"바꾸기 : a = {a}, b = {b}")

a,b = b, a

print(f"바꾸기  : a = {a}, b = {b}")

 

 

21) 원리금 합계 (단리, 복리)

원금 : 1000000

연이율(%) : 5

기간(연단위) : 10

원리금 합계(단리) = 1500000

원리금 합계(복리) = 1628894

: a = int(input("원금 : "))

rate = int(input("연이율(%) : "))/100

n = int(input("기간(연단위) : "))

 

dan = (1+(rate*n))*a

bok = a*((1+rate)**n)

 

print(f"""원리금 합계(단리) = {int(dan)}

원리금 합계(복리) = {int(bok)}""")                                                                                             

 

 

 

 

 

반응형