문제 설명
해당 문제에서 요구하는 바는 크게 2가지인데, 첫번째는 입력값이 주어지면 해당 수만큼 별을 찍은 라인을 출력하는것이고, 두번째는 매 라인마다 별의 갯수가 점층적으로 1개씩 증가하는것이 조건입니다.
풀이
최종 작성된 코드는 아래 예제와 같습니다.
1
2
3
num = int(input())
for i in range(1, num+1):
print("*"*i)
우선 input()
함수를 사용하여 몇 줄을 출력할것인지를 사용자로부터 입력받습니다. 이때 input()
함수를 int()
함수로 감싸줌으로써 입력받은 값을 문자형 자료형에서 정수형 자료형으로 형변환해줍니다.
1
num = int(input())
이제 num
이라는 변수 안에 몇 라인을 출력할것인지에 대한 정보가 있으므로 별만 찍어서 출력합니다. 아래 예제를 살펴보면 1
~ num
+ 1
의 범위만큼 반복하고 print()
함수를 이용해 *
을 출력합니다.
1
2
for i in range(1, num+1):
print("*"*i)
실행 결과
1
2
3
4
5
6
7
8
*
**
***
****
*****
******
*******
********
입력된 값이 8
일 경우 1
~ 8
+ 1
, 즉 8번 반복하게되며, 매 반복문이 실행될때마다 i
의 값은 1
, 2
, 3
, 4
, 5
, 6
, 7
, 8
이 되며, *
을 i
번 출력하게되니 위와 같은 실행 결과가 발생합니다.