PYTHON. 03 프로그램의 구조를 쌓는다! 


제어문. 


03-3 for문


* for문의 기본 구조

for 변수 in 리스트(또는 튜플, 문자열):

수행할 문장1 수행할 문장2 ...


* 예제 이용해 for문 이해하기

1. 전형적인 for문

>>> test_list = ['one', 'two', 'three'] >>> for i in test_list: ... print(i) ...

one two three

2. 다양한 for문의 사용

>>> a = [(1,2), (3,4), (5,6)] >>> for (first, last) in a: ... print(first + last) ... 3 7 11


3. for문의 응용

# marks1.py marks = [90, 25, 67, 45, 80] number = 0 for mark in marks: number = number +1 if mark >= 60: print("%d번 학생은 합격입니다." % number) else: print("%d번 학생은 불합격입니다." % number)

1번 학생은 합격입니다. 2번 학생은 불합격입니다. 3번 학생은 합격입니다. 4번 학생은 불합격입니다. 5번 학생은 합격입니다.

* for문과 continue
# marks2.py marks = [90, 25, 67, 45, 80] number = 0 for mark in marks: number = number +1 if mark < 60: continue print("%d번 학생 축하합니다. 합격입니다. " % number)

1번 학생 축하합니다. 합격입니다. 3번 학생 축하합니다. 합격입니다. 5번 학생 축하합니다. 합격입니다.


* for와 함께 자주 사용하는 range함수

- range 함수의 간단한 사용법

>>> a = range(10) // 숫자 리스트를 자동으로 만들어 주는 range함수 >>> a range(0, 10)


>>> a = range(1, 11) // range(시작 숫자, 끝 숫자) 끝 숫자는 포함되지 않는다 >>> a range(1, 11)


* range 함수의 예시 살펴보기

>>> sum = 0 >>> for i in range(1, 11): ... sum = sum + i ... >>> print(sum) 55

marks = [90, 25, 67, 45, 80] for number in range(len(marks)): // len함수는 리스트 내 요소의 개수를 돌려주는 함수 if marks[number] < 60: continue print("%d번 학생 축하합니다. 합격입니다." % (number+1))

for와 range를 이용한 구구단

>>> for i in range(2,10): ... for j in range(1, 10): ... print(i*j, end=" ") // end를 넣어주는 이유는 다음줄로 넘기지 않고 그 줄에 계속해서 출력하기 위해서이다. ... print('') ... 2 4 6 8 10 12 14 16 18 3 6 9 12 15 18 21 24 27 4 8 12 16 20 24 28 32 36 5 10 15 20 25 30 35 40 45 6 12 18 24 30 36 42 48 54 7 14 21 28 35 42 49 56 63 8 16 24 32 40 48 56 64 72 9 18 27 36 45 54 63 72 81

리스트 안에 for문 포함하기

>>> a = [1,2,3,4]
>>> result = [] >>> for num in a: ... result.append(num*3) ... >>> print(result) [3, 6, 9, 12]

>>> a = [1,2,3,4]
>>> result = [num * 3 for num in a] >>> print(result) [3, 6, 9, 12]

>>> a = [1,2,3,4]
>>> result = [num * 3 for num in a if num % 2 == 0] >>> print(result) [6, 12]

>>> result = [x*y for x in range(2,10) ... for y in range(1,10)] >>> print(result) [2, 4, 6, 8, 10, 12, 14, 16, 18, 3, 6, 9, 12, 15, 18, 21, 24, 27, 4, 8, 12, 16, 20, 24, 28, 32, 36, 5, 10, 15, 20, 25, 30, 35, 40, 45, 6, 12, 18, 24, 30, 36, 42 , 48, 54, 7, 14, 21, 28, 35, 42, 49, 56, 63, 8, 16, 24, 32, 40, 48, 56, 64, 72, 9, 18, 27, 36, 45, 54, 63, 72, 81]

Posted by 너래쟁이
: