본문 바로가기

Python

Python - 반복문 문제 (삼각형, 홀수합, 화씨변환, 윤년, 동전 변환, 가로 구구단)

1. 삼각형의 높이를 입력받은 후 삼각형을 출력하는 프로그램을 작성

답 : 

h = int(input("삼각형의 높이를 입력하세요 : "))
for i in range(1,h+1) :
    print(' '*(h-i),end="")
    print("*"*(i*2-1))

 

2. 년도를 입력받아 윤년인지 평년인지 출력하기.

윤년은 4로 나누어 떨어지고, 100 나누어 떨어지지 않거나, 400으로 나누어 떨어지면 윤년.

그외는 평년

[결과]

년도를 입력하세요 : 2020

2020년은 윤년입니다.

답 : 

year = int(input("년도를 입력하세요 : "))
if (year%4 == 0 and year%100 != 0) or year%400 == 0:
    print("%d은 윤년입니다." %year)
else :
    print("%d은 평년입니다." %year)

 

3. 1 부터 1000 까지의 홀수의 합계 계산시 최초로 1000이 넘는 숫자는 구하는 프로그램을 작성해 보자.

[결과]

1~100의 홀수의 합에서 최초로 1000이 넘는 위치 : 63, 합계: 1024

 

답:

hap, i = 0,0
for i in range(1,101,2):
    hap += i
    if hap >= 1000 :
        break
print("1~100의 홀수의 합에서 최초로 1000이 넘는 위치 : %d, 합계: %d" %(i,hap))

 

 

4. 화씨온도= (( 9 / 5) * 섭씨온도) + 32 인 경우 섭씨 -20 ~ 50 도까지를 화씨 온도로 변경하여 작성하기

[결과]

섭씨온도 -20 :화씨온도: -4.0

섭씨온도 -19 :화씨온도: -2.200000000000003

섭씨온도 -18 :화씨온도: -0.3999999999999986

섭씨온도 -17 :화씨온도: 1.3999999999999986

섭씨온도 -16 :화씨온도: 3.1999999999999993

섭씨온도 -15 :화씨온도: 5.0

....

.....

섭씨온도 46 :화씨온도: 114.8

섭씨온도 47 :화씨온도: 116.60000000000001

섭씨온도 48 :화씨온도: 118.4

섭씨온도 49 :화씨온도: 120.2

섭씨온도 50 :화씨온도: 122.0

답 : 

for i in range(-20,51):
    print("섭씨온도 : ",i,"화씨온도 : ",(9/5)*i+32)

 

5. 금액을 입력받아 동전(500,100,50,10,1)으로 바꿔 주는 프로그램 작성하기

동전의 갯수를 최소개로한 각각의 동전의 갯수를 구하는 프로그램 작성하기

[결과]

금액을 입력해주세요 : 3850

500원 동전의 갯수: 7 개

100원 동전의 갯수: 3 개

50원 동전의 갯수: 1 개

10원 동전의 갯수: 0 개

1원 동전의 갯수: 0 개

 

답 1 :

coin = int(input("금액을 입력해주세요 : "))
print("500원 동전의 갯수",coin//500,"개 \n")
print("100원 동전의 갯수",(coin%500)//100,"개 \n")
print("50원 동전의 갯수",((coin%500)%100)//50,"개 \n")
print("10원 동전의 갯수",(((coin%500)%100)%50)//10,"개 \n")
print("1원 동전의 갯수",((((coin%500)%100)%50)%10)//1,"개 \n")

답 2 : 
money = int(input("금액을 입력해주세요 : "))
temp = money 
print("500원 동전의 갯수 : ", temp//500,"개")
temp %= 500
print("100원 동전의 갯수 : ", temp//100,"개")
temp %= 100
print("50원 동전의 갯수 : ", temp//50,"개")
temp %= 50
print("10원 동전의 갯수 : ", temp//10,"개")
temp %= 10
print("1원 동전의 갯수 : ", temp//1,"개")
temp %= 1

 

답 3 # 반복문 : 

temp = money
for m in (500,100,50,10,1) :
    print("%d원 동전의 갯수 : %d" % (m,temp//m),"개")
    temp = temp % m

 

# 구구단 출력 부분을 가로로 프로그램 작성하기 
i,j = 0,0
for i in range(2,10):
    print("%5d단%4s" % (i,"   "), end="  ")
print()
for j in range(2,10) : 
    for i in range(2,10):
        print("%2d X %2d = %3d" % (i,j,(i*j)),end="")
    print()

'Python' 카테고리의 다른 글

Python - 연습문제 2  (0) 2021.06.11
Python - 문자열 함수  (0) 2021.06.10
Python - 반복문 for , while  (0) 2021.06.09
Python - 조건문 if  (0) 2021.06.09
Python - 변수와 진수  (0) 2021.06.09