본문 바로가기
프로그램/Python 1000제

Python 79제] 1부터 입력 수 N 중 3의 배수를 출력하고 곱을 구하시오.

by 건티 2022. 5. 27.
728x90

출처 : 반크_세계유산 창덕궁

 

문제]

1~입력 수 N 중 3의 배수를 출력하고 그 곱을 구하는 프로그램을 reduce(), range()를 활용하여 작성하시오.

조건)

1. 입력 수 N은 10<=N<=50 범위를 갖는다.

2. N의 범위가 벗어나면 다시 입력하도록 하시오.

3. 3의 배수를 출력할 때, 한 줄에 5개씩 출력하시오.

 

참고풀이]

#reduce()
from functools import reduce

def doGob(a,b):
    return a*b

 

#Main 부분

#N의 값을 입력한다.
while True:
    N=int(input("임의의 정수를 입력하시오 : "))
    if 10<=N<=50:
        break
    print("10~50사이의 정수를 입력하시오.")
    print("다시 입력하세요...")

 

#N까지의 3의 배수를 리스트에 저장한다.
L=list(range(3,N+1,3))

 

#저장한 리스트의 값들을 전부 곱한다.
Result=reduce(doGob,L)

#결과출력
cnt=0
for d in L:
    cnt+=1
    if cnt%5==0:
        print(f'{d:3}')
    else:
        print("%3d"%d,end='')
print(f'\n1~{N}사이 중 3의 배수의 곱 : {Result}')

 

참고풀이 결과]

 

 

 

 

대한민국의 아름다운 영토, 독도의 봄

 

반응형

댓글