DongSup
dev's gait
DongSup
전체 방문자
오늘
어제
  • 분류 전체보기 (71)
    • flask (13)
    • iOS (11)
    • python (22)
    • CS (21)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 한걸음
  • 언어공부
  • 파이썬
  • 첫글
  • Swift

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
DongSup

dev's gait

Unit 19 문제 풀이
python

Unit 19 문제 풀이

2022. 1. 15. 22:33
Unit 19

 

19.5 연습 문제 ▶ 다음 소스 코드를 완성하여 역삼각형 모양으로 별이 출력되게 만드세요.

# 결과 
# *****
#  ****
#   ***
#    **
#     *

# for i in range(5):
#     for j in range(5): 
#         ____________               
#     print()

# 정답
for i in range(5):
    for j in range(5): 
        if j < i: 
            print(' ', end='')
        else: 
            print('*', end='')              
    print()


바깥쪽 루프로 시작하여 안쪽 루프가 가로 방향으로 
j 값을 출력하는 방식입니다.
윗부분이 넓고 아래로 갈수록 좁아지는 삼각형 모양인데 공백 부분이 하나씩 늘어나고 있습니다.
if j < i:와 같이 작성하여 가로 방향으로 공백을 출력할 때는 세로 방향의 변수 i보다 작을 때까지 출력하고,
반대되는 조건에서는 별을 출력하도록 하여 세로로 내려갈수록 공백이 늘어나도록 해줍니다.

 

 


 

 

19.6 실습 문제 ▶ 표준 입력으로 삼각형의 높이가 입력됩니다. 

입력된 높이만큼 산 모양으로 별을 출력하는 프로그램을 만드세요
(input에서 안내 문자열은 출력하지 않아야 합니다). 이때 출력 결과는 예제와 정확히 일치해야 합니다. 
모양이 같더라도 공백이나 빈 줄이 더 들어가면 틀린 것으로 처리됩니다.

 

# 입력 : 3
# 결과
#   *
#  ***
# *****

a = int(input()) 
i = a-1  # 빈칸 = 높이 수-1
 
for i in range(a):  # 세로 방향
    for j in range(a + i):  # 가로 방향 
        if j < i:  
            print(' ', end = '')
        else:  
            print('*', end = '')
    print()  # 다음 줄로 넘어감
    i -= 1  # 밑으로 갈 수록 공백이 하나씩 줄어듦
    
# a = int(input())
# for i in range(a): 
#  for j in range(a-i-1): 
#    print(' ',end='') 
#  for j in range(2*i+1): 
#    print('*',end='')
#  print()

 

가로 방향 반복문은 for j in range(a):로 range에서 생성되는 마지막 숫자가 지정된 숫자보다 1이 더 작습니다.
end = '' 를 지정하여 줄바꿈을 하지 않도록 해줍니다.
조건식을 j < i와 같이 작성하여 가로 방향( j )의 변수가 세로 방향( i )의 변수보다 작을 때 출력하여
i가 증가할 때마다 별이 늘어날 수 있도록 만듭니다.
j가 i보다 작을 때만 출력하므로 첫 번째 줄은 출력하지 않습니다.

 


참조 : https://dojang.io/course/view.php?id=7

'python' 카테고리의 다른 글

1. 기초 - 출력 (코드업 기초 100제)  (0) 2022.01.23
Unit 20 문제 풀이  (0) 2022.01.15
Unit 18 문제 풀이  (0) 2022.01.15
Unit 17 문제 풀이  (0) 2022.01.15
Unit 16 문제 풀이  (0) 2022.01.15
    'python' 카테고리의 다른 글
    • 1. 기초 - 출력 (코드업 기초 100제)
    • Unit 20 문제 풀이
    • Unit 18 문제 풀이
    • Unit 17 문제 풀이
    DongSup
    DongSup

    티스토리툴바