반응형
파이썬(python) for문
for문은 While문과 비슷한 반복문으로 사용할 수 있다.
while문에 비해 직관적인 특징을 가지고 있다.
- 들여쓰기 방법
- 탭(Tab)
- 공백(Spacebar) // 공백 사용 시 4개의 공백을 사용을 추천한다.
- 4개 공백 = Tab 공백과 동일
기본 구조
in 뒤에 나오는 '리스트' '튜플' '문자열' 의 첫 요소부터 끝 요소까지 변수에 대입해가며 수행 문장을 수행한다.
for 변수 in 리스트 or 튜플 or 문자열:
<수행 문장1>
<수행 문장2>
<수행 문장3>
...
- for문 예시
# for문 예제 1
list = ['apple_1', 'apple_2', 'apple_3', 'apple_4']
for i in list:
print(i)
# 리스트에 있는 apple_1 ~ apple_4 까지 순차적으로 i 변수에 대입하여 print 됨
# 실행 결과
apple_1
apple_2
apple_3
apple_4
# for문 예제 2
n = [(1, 2), (3, 4), (5, 6), (7, 8)]
for (first, last) in n:
print(first + last)
# n에 튜플을 리스트 형태로 선언되어 있어 first, last 변수에 첫번째 리스트 요소 (1,2)가 first, last 변수에 대입되고
# print(first + last) 연산 결과를 출력한다
# 실행 결과
3 # 1+2
7 # 3+4
11 # 5+6
15 # 7+8
for + continue문
marks = [90, 25, 67, 45, 80]
number = 0
for mark in marks:
number = number +1
if mark < 60:
continue
print("%d번 학생 축하합니다. 합격입니다. " % number)
# mark 변수에 marks 리스트 요소들이 대입되며 if문을 수행한다.
# if문의 조건이 참인 경우 continue 문을 수행하여 for문의 처음으로 돌아간다.
# 실행 결과
1번 학생은 합격입니다.
3번 학생은 합격입니다.
5번 학생은 합격입니다.
# 1번 학생은 90점으로 if문 수행 결과가 '거짓'으로 continue문을 수행하지 않고 print문 수행
# 2번 학생은 25점으로 if문 수행 결과가 '참'으로 continue문을 수행하여 for문 처음으로 돌아감.
range 함수
숫자 리스트를 자동으로 만들어주는 함수
a = range(5) # range(5) 0부터 5미만을 표현
b = range(0,5) # range(0,5) 0부터 5미만을 표현
# 예제 1
add = 0
for i in range(5):
add = add + i
print(add)
# i 변수에 range(0,5) 까지 숫자를 대입. add 변수에 i 값을 더해가며 최종 합산 결과를 print로 출력
# 결론 0부터 4까지 더한 결과를 출력
# 실행 결과
10 # 0+1+2+3+4
# 예제 2
marks = [90, 25, 67, 45, 80]
for number in range(len(marks)):
if marks[number] < 60:
continue
print("%d번 학생 축하합니다. 합격입니다." % (number+1))
# len 함수는 리스트 안의 요소 개수를 돌려주는 함수이다.
# 따라서 len(marks)는 5가 될 것이고 range(len(marks))는 range(5)가 될 것이다.
# number 변수에는 차례로 0부터 4까지의 숫자가 대입될 것이고,
# marks[number]는 차례대로 90, 25, 67, 45, 80 값을 갖게 된다.
# 실행 결과
1번 학생 축하합니다. 합격입니다.
3번 학생 축하합니다. 합격입니다.
5번 학생 축하합니다. 합격입니다.
# 예제 3 - 구구단
for i in range(2, 10): # 2~9까지
for j in range(1, 10): # 1~9까지
print(i*j, end=" ") # i 곱하기 j
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
# 리스트 내포
a = [1, 2, 3, 4]
result = []
for num in a:
result.append(num*3)
print(result)
# 위 내용을 내포 사용
a = [1, 2, 3, 4]
result = [num*3 for num in a]
print(result)
# 내포에 if문 사용
a = [1, 2, 3, 4]
result = [num*3 for num in a if num % 2 == 0] # 짝수만 3곱하기
print(result)
# 내포 사용 구구단
result = [x*y for x in range(2, 10)
for y in range(1, 10)]
print(result)
반응형
'프로그래밍_기타 언어' 카테고리의 다른 글
파이썬(python) if문 (0) | 2024.09.22 |
---|---|
파이썬(python) 함수 (0) | 2024.09.22 |
파이썬(python) 모듈 사용 (0) | 2024.09.22 |
파이썬(python) 파일 읽고 쓰기 (0) | 2024.09.22 |
파이썬(python) 예외처리(try except) (0) | 2024.09.22 |