Program/Python

Python for문

하랑파파♡ 2020. 9. 8. 15:00
728x90
반응형
SMALL

for문의 기본 구조

for 변수 in 리스트(또는 튜플, 문자열):
    수행할 문장1
    수행할 문장2
    ...

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

다양한 for문의 사용

a 리스트의 요솟값이 튜플이기 때문에 각각의 요소가 자동으로 (first, last) 변수에 대입

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

for문과 continue

marks = [90, 25, 67, 45, 80]

number = 0 
for mark in marks: 
    number = number +1 
    if mark < 60:
        continue 
    print("%d번 학생 축하합니다. 합격입니다. " % number)

for문과 함께 자주 사용하는 range 함수

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

range(1, 11)은 숫자 1부터 10까지(1 이상 11 미만)의 숫자를 데이터로 갖는 객체
위 예에서 i 변수에 리스트의 숫자가 1부터 10까지 하나씩 차례로 대입되면서
add = add + i 문장을 반복적으로 수행하고 add는 최종적으로 55가 된다.

for와 range를 이용한 구구단

>>> for i in range(2,10):        # ①번 for문
...     for j in range(1, 10):   # ②번 for문
...         print(i*j, 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

[매개변수 end를 넣어 준 이유는 무엇일까?]
앞의 예제에서 print(i*j, end=" ")와 같이 매개변수 end를 넣어 준 이유는 해당 결괏값을 출력할 때 다음줄로 넘기지 않고 그 줄에 계속해서 출력하기 위해서이다. 그다음에 이어지는 print(' ')는 2단, 3단 등을 구분하기 위해 두 번째 for문이 끝나면 결괏값을 다음 줄부터 출력하게 해주는 문장이다.

리스트 내포 사용하기

/* 표현식 */
[표현식 for 항목 in 반복가능객체]
[표현식 for 항목 in 반복가능객체 if 조건문]

ex)
>>> 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]

/* for문을 2개 이상 사용하는 것도 가능 */
>>> 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]

참고 : https://wikidocs.net/22

728x90
반응형
LIST

'Program > Python' 카테고리의 다른 글

Python 입출력  (0) 2020.09.08
Python 함수  (0) 2020.09.08
Python while문  (0) 2020.09.08
Python if문  (0) 2020.09.08
Python 자료형 : boolean(참, 거짓)  (0) 2020.09.07