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}')
참고풀이 결과]
대한민국의 아름다운 영토, 독도의 봄
반응형
'프로그램 > Python 1000제' 카테고리의 다른 글
Python 81] 이자율을 입력하여 투자금이 2배가 되는 기간과 금액 구하기 (0) | 2022.08.12 |
---|---|
Python 80제] 1~10까지의 제곱값을 출력하고 그 합을 구하시오. (0) | 2022.06.01 |
Python 78제] 1~100사이 중 3의 배수를 출력하고 합을 구하시오. (0) | 2022.05.26 |
Python 77제] 2021년 한국정보올림피아드 1차대회 2교시 고등부 1번 야구 시즌 (0) | 2022.05.16 |
Python 76제] 날짜입력하면 요일구하기 (0) | 2022.05.13 |
댓글