반응형
| # 1) 사용자에게 단 입력받기 dan = int(input("몇 단을 출력할까요? (2~9): ")) # 2) 입력값이 유효한지 확인하기 if 2 <= dan <= 9: print(f"\n=== {dan}단 ===") # 3) 1부터 9까지 곱하면서 출력하기 for i in range(1, 10): result = dan * i print(f"{dan} × {i} = {result}") else: print("오류: 2부터 9 사이의 정수를 입력해야 합니다.") |
1. if문 (조건문)
- 형식
-
python복사편집if <조건식>: <조건이 참일 때 실행할 코드> else: <조건이 거짓일 때 실행할 코드>
- **콜론(:)**과 **들여쓰기(indent)**가 필수!
2. for문 (반복문)
- 형식
-
python복사편집for <변수> in <시퀀스>: <반복해서 실행할 코드>
- <시퀀스>: 리스트, 문자열, range() 등이 될 수 있어요.
- 예시 설명
- for i in range(1, 10):
result = dan * i
print(f"{dan} × {i} = {result}")- range(1, 10)은 1부터 9까지의 숫자를 차례로 만들어 주는 시퀀스입니다.
- for i in … 하면 i가 1, 2, 3, …, 9로 하나씩 바뀌면서 들여쓰기된 블록이 반복 실행돼요.
- 각 반복마다 result = dan * i 를 계산하고, 그 값을 print로 보여주는 구조죠.
왜 10까지는 안했냐구요?
파이썬의 range(start, stop) 함수는 시작 값(start) 은 포함(inclusive)하지만, 끝 값(stop) 은 포함하지 않는(exclusive) 방식으로 숫자를 생성하기 때문이에요.
10에 도달하면 멈추라는 의미이기 떄문에, 10일때 아래 코드는 수행하지 않습니다.
for i in range(1, 10): print(i)
위 코드는 내부적으로 이렇게 동작합니다:
- i = 1
- i = 2
- …
- i = 9
- i = 10이 되기 직전에 “끝 값(10) 도달”로 판단하고 멈춤
따라서 range(1, 10)은 1, 2, 3, …, 9 까지만 반복하고, 10은 생성하지 않는 거죠.

반응형