3. for문 공부 중

solarrrrr·2021년 7월 15일
0

Python

목록 보기
3/9
post-thumbnail

파이썬 코딩 도장으로 학습 중이다.
목차에 따라 진도를 시간이 되는 범위 내에서
쭉쭉 따라하고 있는데
오늘은 반복문 챕터를 공부했다.

for문을 이용한 반복문을 공부했는데
반복문의 중첩을 통해 구구단을 만드는 문제가 있어
답지를 보지 않고 만들어 보았다.

for i in range(2, 10):
	for j in range(2, 10):
    		print(i, 'X', j, '=', i*j)

변수 i는 각 단을 의미하고, j는 곱해 주는 수이다.
반복문을 중첩하면 하단부 항이 모두 다 돌아야
바깥으로 빠져나가기 때문에 위와 같이 구성했다.

range 함수로 2단부터 9단까지를 설정했고
곱해 주는 수 역시 1부터 9까지 들어가도록 지정했다.

조금 더 응용해서 사용자에게 숫자를 입력받아서
해당 단만을 출력해 보기로 했다.

i = int(input('원하는 단을 입력해 주세요: '))

for j in range(1, 10):
        print(i, 'X', j, '=', i*j)

사용자로부터 int형 정수로 값을 입력받아서
구구단을 출력해 보았다.

이건 1개의 단만 출력하면 되니까
중첩 없이 작성되었다.

처음엔 바보같이 중첩을 해야 한다고 생각해서
range 범위를 (a, a) 이렇게 삽질을 잠깐 했다. ㅎㅎ

이렇게 하면 입력값이 3이라면 range 범위가
3부터 3까지가 되는데 인덱스 마지막은 포함되지 않으므로
범위가 없어져버린다.
당연히 출력 결과가 없다.

그래서 range(a, a+1)로 하니까 범위가 생기게 되고
정상적으로 결과가 출력되었다.

다만 굳이 중첩으로 할 필요가 없었기에
위의 코드처럼 중첩 없이 구구단을 완성했다.

profile
몰입

0개의 댓글