[Python파이썬] for문을 사용하여 별찍기+숫자찍기 (for문 02)



문제

Q1. 바깥쪽 한 개의 for 문과 안쪽 세 개의 for문을 중첩하여 반복하면서 별모양 출력
(바깥쪽 for문은 range(1,6)으로,
 안쪽의 세 for 문은 각각 range(1, 6-i), range(1, i+1), range(1,i)로 반복)

<출력예시>
    *
   ***
  *****
 *******
*********

Q2. for문 1개를 이용하여 숫자탑 출력

<출력예시>
1
22
333
4444
55555
666666
7777777
88888888
999999999

부연설명

문제마다 힌트가 있지만, 조금 더 설명하겠습니다.

1번 문제는 사중 for 문으로 작성해야 합니다.

처음 문제를 읽다 보면 이해를 못 하실 수 있습니다.

쉽게 설명해 드리면,

for i in range()
    for j in range()
    for k in range()
    for m in range()

위 코드처럼 작성해야 한다는 의미입니다.

2번 문제는 출력하기 위해서 str() 형변환을 해주어야 합니다.

또한, 아래 사이트에 더 많은 별탑과 숫자탑 등 여러가지가 있습니다.
https://pynative.com/print-pattern-python-examples/


풀이

Q1. 풀이

# Q1. Answer
for i in range(1,6):
    for j in range(1,6-i):
        print(" ",end="")
    for k in range(1,i+1):
        print("*", end="")
    for m in range(1, i):
        print("*", end="")
    print()
    
# 번외 (한 줄로 트리만들기)
# Q1. Extra_Answer(01)
for i in range(1,6):
    print(' '*(6-i) + '*'*(2*i-1))

# Q1. Extra_Answer(02)
for i in range(1,11,2):
    print('{:^9}'.format('*'*i))

Q2. 풀이

# Q2. Answer
for i in range(1,10):
  print(str(i)*i)
문제와 답은 여유로울 때 계속 업로드합니다😊
많이 방문해 주시고 도움이 되었으면 합니다!!



© 2021.02. by hallymer

Powered by hallymer