출처 : 반크_세계유산 고인돌
문제]
임의의 정수 N을 입력하여 마름모 도형을 출력하는 프로그램을 작성하시오.
조건)
1. 임의의 정수 N은 홀수면 마름모를 출력하도록 한다.
2. 임의의 정수 N이 짝수면 에러 메세지를 출력하고 다시 입력하도록 한다.
3. N은 3<=N<=43 범위를 벗어나지 않도록 한다.
만약 범위를 벗어나면 에러 메세지를 출력하고 다시 입력하도록 한다.
입력 예시1)
임의의 정수를 입력하시오 : 10
출력 예시1)
입력한 정수 10은(는) 홀수가 아닙니다.
다시 입력하세요...
입력 예시2)
임의의 정수를 입력하시오 : 2
출력 예시2)
입력한 정수 2은(는) 3~43사이의 수가 아닙니다.
다시 입력하세요...
입력 예시3)
임의의 정수를 입력하시오 : 55
출력 예시3)
입력한 정수 55은(는) 3~43사이의 수가 아닙니다.
다시 입력하세요...
입력 예시4)
임의의 정수를 입력하시오 : 5
출력 예시4)
*
***
*****
***
*
참고풀이]
#조건에 맞는 임의의 정수를 입력 받는다.
while True:
N=int(input("임의의 정수를 입력하시오 : "))
if N%2==1 and 3<=N<=43:
break
if N%2==0 and 3<=N<=43:
print(f"입력한 정수 {N}은(는) 홀수가 아닙니다.")
if N<3 or N>43:
print(f"입력한 정수 {N}은(는) 3~43사이의 수가 아닙니다.")
print("다시 입력하세요...")
#마름모를 출력한다.
k=(N+1)//2
for r in range(1,N+1):
if r<=(N+1)//2:
k-=1
print(" "*k,end='')
print("*"*(r*2-1))
else:
k+=1
print(" "*k,end='')
print("*"*((N+1-r)*2-1))
참고풀이 결과]
대한민국의 아름다운 영토, 독도
'프로그램 > Python 1000제' 카테고리의 다른 글
Python 60제] 1 - 2 + 4 - 7 + 11 - 16 + 22 -29 + 37 - 46 + 56의 결과값 구하는 프로그램을 작성하시오. (0) | 2022.04.15 |
---|---|
Python 59제] 임의의 정수 N을 입력하여 영문자 삼각형을 출력하시오. (0) | 2022.04.14 |
Python 57제] 임의의 정수를 입력하여 주어진 삼각형을 출력하시오. (0) | 2022.04.13 |
Python 56제] 임의의 정수를 입력하여 주어진 삼각형을 출력하시오. (0) | 2022.04.13 |
Python 55제] 임의의 정수를 입력하여 주어진 삼각형을 출력하시오. (0) | 2022.04.13 |
댓글