구구단
n = int(input())
for i in range(1, 10):
print(n, "*", i, "=", n * i)
실행 흐름 바꾸기 2
어떤 값들에 대해서 같은 문장들을 반복해서 실행할 때도 일반적인 실행 흐름을 바꾸어야 합니다.
이를 수행하는 흐름제어문은 for
문입니다.
객체
객체는 상태와 행동이 정의된 값입니다. 지금까지 다룬 거의 모든 것이 객체입니다. 정수, 실수, 문자열, 리스트, 함수 등이 모두 객체입니다.
이터러블
어느 객체에 들어있는 멤버를 하나씩 이터레이트(iterate; 순회)할 수 있다면, 그러한 객체를 이터러블(iterable; 순회가능)이라고 합니다. 예를 들어, 리스트는 그 안에 묶여있는 항목들을 앞에서부터 차례대로 순회할 수 있고, 문자열도 앞에서부터 한 글자씩 순회할 수 있습니다. 즉, 리스트와 문자열은 이터러블입니다. 그러나 정수나 실수는 이터레이트할 방법이 없으므로 이런 객체들은 이터러블이 아닙니다.
for
문
for
문은 이터러블 객체를 이터레이트하면서, 각 멤버에 대해 같은 코드를 반복하여 실행할 때 사용합니다.
다음과 같이 작성합니다.
numbers = [3, 1, 4, 1, 5, 9, 2]
greet = "Hello world!"
for d in numbers:
d += 10
print(d)
for c in greet:
print("Letter", c)
우선 "for
(각 멤버를 대입할 변수이름) in
(이터러블 객체):
"를 적습니다.
그리고 if
에서 했던 것 처럼 들여쓰기하여 각 멤버에 대해 실행할 문장들을 작성합니다.
위 프로그램은 "13", "11", "14", ..., "12"를 한 줄씩 출력하고, 이어서 "Letter H", ..., "Letter !"를 한 줄씩 출력합니다.
range
range
는 등차수열의 원소를 하나씩 돌려주는 이터러블 객체입니다.
$1$부터 $100$까지의 수를 돌려주는 range
객체는 다음과 같이 만들 수 있습니다.
range(1, 101)
첫 인자는 시작값, 두 번째 인자는 끝값입니다. 시작값은 포함이지만, 끝값은 포함하지 않음에 주의하세요. 프로그래밍에서 자주 사용되는 관례로, 어떤 범위에서 시작은 포함하고 끝은 불포함하는 경우가 많습니다.
만약 수열이 $0$부터 시작한다면 시작값을 생략할 수 있습니다.
즉, range(10)
은 $0$부터 $9$까지의 수를 돌려줍니다.
댓글