■ for문
for문은 while문과 비슷한 반복문으로 문장 구조가 한눈에 들어온다는 장점이 있다.
(1) 일반적인 for문 형태
>>> test = ['one', 'two', 'three']
>>> for i in test:
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문 응용
ex. 총 5명의 학생이 시험을 보았는데 시험점수가 60점 이상이면 합격이고 그렇지 않으면 불합격이다. 합격인지 불합격인지 결과를 보여주라.
>>> result = [90,25,67,45,80]
>>> number = 0
>>> for mark in result:
number = number + 1
if mark >= 60:
print("%d student pass" % number)
else:
print("%d student fail" % number)
1 student pass
2 student fail
3 student pass
4 student fail
5 student pass
(4) 60점 이상 합격자에게 축하 메세지 전송, 불합격자 메세지 전송X
>>> result = [90,25,67,45,80]
>>> number = 0
>>> for mark in result:
number = number + 1
if mark < 60:
continue
print("%d student pass" % number)
1 student pass
3 student pass
5 student pass
■ for문과 range함수 사용
(1) for와 range함수를 사용해 1~10까지 더하기(총 결과값 출력)
>>> plus = 0
>>> for i in range(1, 11):
plus = plus + 1
>>> print(plus)
55
(2) for와 range함수를 사용해 1~10까지 더하기(단계별 결과값 출력)
>>> plus = 0
>>> for i in range(1, 11):
plus = plus + 1
print(plus)
1
3
6
10
15
21
28
36
45
55
(3) for와 range함수를 사용해 구구단 만들기
>>> for a in range(2,10):
for b in range(1,10):
print(a*b, 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 81 27 36 45 54 63 72 81
■ 리스트 컴프리헨션 사용
리스트 안에 for 문을 포함하는 리스트 컴프리헨션을 사용하면 좀 더 편리하고 직관적인 프로그램을 만들 수 있다.
(1) a 리스트에 각 항목에 3을 곱한 결과를 result 리스트에 담기
>>> a = [1,2,3,4]
>>> result = []
>>> for num in a:
result.append(num*3)
>>> print(result)
[3, 6, 9, 12]
(2) 1번 예시에 list comprehension 사용
>>> a = [1,2,3,4]
>>> result = [num*3 for num in a]
>>> print(result)
[3, 6, 9, 12]
(3) 리스트 [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]
'Python > 파이썬 기초' 카테고리의 다른 글
[4-1] 함수 (0) | 2024.06.30 |
---|---|
[1-1] 변수 (0) | 2024.06.29 |
[3-2] while문 (0) | 2024.06.29 |
[3-1] if문 (0) | 2024.06.29 |
[2-7] 불 자료형 (0) | 2024.06.28 |