Python 기초, 제어문3(for문)
본문 바로가기
programming/Python

Python 기초, 제어문3(for문)

by 코딩하는 핑가 2020. 9. 15.
반응형

1. for문

* 기본구조

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

 

* 예제

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

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

 

* 응용

"""
"총 5명의 학생이 시험을 보았는데 시험 점수가 60점이 넘으면 합격이고 그렇지 않으면 불합격이다.
합격인지 불합격인지 결과를 보여 주시오."
"""

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

number = 0;
for mark in marks:
	number = number +1
    if mark >= 60:
    	print("%d번 학생은 합격입니다." % number)
    else:
    	print("%번 학생은 불합격입니다." % number)
        
        
"//////////////////////////////////////////////////////////////"

1번 학생은 합격입니다.
2번 학생은 불합격입니다.
3번 학생은 합격입니다.
4번 학생은 불합격입니다.
5번 학생은 합격입니다.
"""
60점 이상인 사람에게는 축하 메시지를 보내고 나머지 사람에게는 아무 메시지도 전하지 않는 예제
"""

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번 학생 축하합니다. 합격입니다.

 

* range 함수

- 숫자 리스트를 자동으로 만들어주는 함수

"0부터 10미만의 숫자를 포함하는 range 객체를 만들어줌"

>>> a = range(10)
>>> a
range(0, 10)

"1부터 10까지 더하는 예제"

>>> add = 0 
>>> for i in range(1, 11): 
...     add = add + i 
... 
>>> print(add)
55
"60점 이상이면 합격이라는 문장을 출력하는 예제"

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

>>> for i in range(2,10):        # ①번 for문
...     for j in range(1, 10):   # ②번 for문
...         print(i*j, end=" ")  
# end는 해당 결괏값을 출력할 때 다음줄로 넘기지 않고 그 줄에 계속해서 출력하기 위해 사용
...     print('') 
# 2단 3단 등을 구분하기 위해 두 번째 for문이 끝나면 결괏값을 다음 줄부터 출력하게 해줌
... 
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 항목 in 반복가능객체 if 조건문]


"a 리스트의 각 항목에 3을 곱한 결과를 result 리스트에 담는 예제"
>>> 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]

"[1,2,3,4] 중에서 짝수에만 3을 곱하여 담고 싶다"
>>> a = [1,2,3,4]
>>> result = [num * 3 for num in a if num % 2 == 0]
>>> print(result)
[6, 12]

 

* 이중 for문

[표현식 for 항목1 in 반복가능객체1 if 조건문1
        for 항목2 in 반복가능객체2 if 조건문2
        ...
        for 항목n in 반복가능객체n if 조건문n]
        
>>> 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]

 

점프 투 파이썬

반응형

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

Python 기초, 입출력(함수)  (0) 2020.09.16
Python 기초, 제어문 연습문제  (0) 2020.09.15
Python 기초, 제어문2(while문)  (1) 2020.09.15
Python 기초, 제어문1(if문)  (0) 2020.09.15
Python 기초, 자료형 연습문제  (0) 2020.09.14

댓글