파이썬

입문자를 위한 파이썬 기초 #14. 반복문 for

넬티아 2021. 1. 18. 00:30
728x90

네이버 시리즈 : 입문자를 위한 파이썬 기초

for


파이썬의 for 반복문은 다른 언어의 for문과 달리 배열이나 문자열을 사용해 실행한다. for 반복문은 다음과 같은 형식으로 사용한다.

for [임의 변수이름] in 리스트:
  반복내용

다음 예제는 for 반복문을 사용해 0부터 3까지 들어있는 리스트에서 끝날때까지 요소를 하나씩 i에 가져와 출력한다.

>>> for i in [0,1,2,3]:
	print(i)

	
0
1
2
3

리스트에 문자열 값을 넣어도 똑같이 적용된다.

>>> for i in ["I", "am", "a", "cool", "boy"]:
	print(i)

	
I
am
a
cool
boy

파이썬에서는 리스트 뿐만 아니라 문자열 값도 인덱싱이 가능하다. 리스트가 아니라 문자열도 for문에 사용 가능하다.

>>> for i in "blog":
	print(i)

	
b
l
o
g

 

리스트 생성기 range

 

1부터 100000까지 반복하고 싶은 경우 이걸 리스트로 일일이 [0,1,2,.. 100000] 의 리스트를 만들기는 매우 번거롭다. range는 다음 형식으로 사용한다. 시작 숫자부터 끝 숫자를 지정해 지정한 범위의 숫자 리스트를 만든다. 등차수열 개념이다.

range(시작 숫자, 끝 숫자, 연산 숫자)

연산 숫자를 생략하면 기본 1로 설정되어 1씩 증가하고 임의로 입력할 수 있다. 시작 숫자를 생략하면 기본 0부터 시작한다.

>>> for x in range(1,10,2):
	print(x)

	
1
3
5
7
9
>>> for x in range(10):
	print(x)

	
0
1
2
3
4
5
6
7
8
9

다음과 같이 작성하면 구구단을 출력한다.

>>> for x in range(1,10):
	print("{} x {} = {}".format(2, x, 2*x))

	
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10
2 x 6 = 12
2 x 7 = 14
2 x 8 = 16
2 x 9 = 18

 

이중 반복문


반복문 안에 반복문을 넣어 이중 반복문을 작성할 수 있다. 이중 반복문을 사용해 2단부터 20단까지 출력해보자.

>>> for i in range(2, 21):
	print("\n\n{}단!".format(i), end="\n")
	for j in range(1, 21):
		print("{} x {} = {}".format(i, j, i*j))

		


2단!
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10
2 x 6 = 12
2 x 7 = 14
2 x 8 = 16
2 x 9 = 18
2 x 10 = 20
2 x 11 = 22
2 x 12 = 24
2 x 13 = 26
2 x 14 = 28
2 x 15 = 30
2 x 16 = 32
2 x 17 = 34
2 x 18 = 36
2 x 19 = 38
2 x 20 = 40


3단!
3 x 1 = 3
3 x 2 = 6
3 x 3 = 9
3 x 4 = 12
3 x 5 = 15
3 x 6 = 18
3 x 7 = 21
3 x 8 = 24
3 x 9 = 27
3 x 10 = 30
3 x 11 = 33
3 x 12 = 36
3 x 13 = 39
3 x 14 = 42
3 x 15 = 45
3 x 16 = 48
3 x 17 = 51
3 x 18 = 54
3 x 19 = 57
3 x 20 = 60

... <중략>

20단!
20 x 1 = 20
20 x 2 = 40
20 x 3 = 60
20 x 4 = 80
20 x 5 = 100
20 x 6 = 120
20 x 7 = 140
20 x 8 = 160
20 x 9 = 180
20 x 10 = 200
20 x 11 = 220
20 x 12 = 240
20 x 13 = 260
20 x 14 = 280
20 x 15 = 300
20 x 16 = 320
20 x 17 = 340
20 x 18 = 360
20 x 19 = 380
20 x 20 = 400