1. 반복문
- 특정한 소스코드를 반복적으로 실행하고자 할 때
- while, for 두가지가 있다
# 1부터 9까지의 모든 정수 합구하기
i = 1
result = 0
while i <= 9:
result += i
i += 1
print(result)
45
C언어처럼 i++ 명령어는 허용되지 않더라.
# 1부터 9까지 정수 중 홀수들의 합
i = 1
result = 0
while i <= 9:
if i % 2 == 1:
result += i
i += 1
print(result)
25
if 문 아래 result 들여쓰기 했는데;; 왜 저렇게 나오는지 모르겠따
2. 반복문에서의 무한루프
- 무한루프 : 끊임없이 반복되는 반복구문
x = 10
while x > 5:
print(x)
10
10
10
10
10
10
...
x 값은 10으로 고정되어있고 어떠한 조건에서도 x의 값의 변화가 없다.
게다가 반복문 조건이 x가 5보다 클 때이기 때문에 무한 루프가 돌게 되며 프로그램은 종료되지 않는다.
3. 반복문 for
- in 뒤에 오는 데이터(리스트, 튜플 등)에 포함되어있는 원소를 첫 번째 인덱스부터 차례대로 하나씩 방분하
array = [9, 8, 7, 6, 5]
for x in array:
print(x)
9
8
7
6
5
리스트 뿐만 아니라 튜플도 가능
result = 0
# i 는 1부터 9까지의 모든 값을 순회
for i in range(1,10):
result += i
print(result)
45
range() 는 범위 설정
result = 0
for i in range(1,10):
if i % 2 == 0
continue
result += i
print(result)
countinue 함수는 건너 뛰는 것
i = 1
while True:
print("현재 i의 값: ", i)
if i == 5:
break
i += 1
현재 i의 값 : 1
현재 i의 값 : 2
현재 i의 값 : 3
현재 i의 값 : 4
현재 i의 값 : 5
while true: 는 항상 참인 반복문이기 때문에 계속 반복이 된다.
그러나 break 문은 해당 조건을 만족했을 경우 반복문을 빠져나간다.
score = [ 90, 85, 77, 65, 97]
for i in range(5):
if score[i] >= 80:
print(i +1, "번 학생은 합격입니다.")
=> i 는 0부터 증가를 하기 때문에 print 문에서 i + 1 하는 걸까?
맞네 ㅋ
# 특정 번호의 학생 제외하는 코드
score = [90, 85, 77, 65, 97]
cheating_student_list = {2,4}
for i in range(5):
if i + 1 in cheating_student_list:
continue
if score[i] >= 80:
print(i + 1, "번 학생은 합격입니다.)
중첩 반복문
for i in range(2,10):
for j in range(1,10):
print(i, "X", j, "=", i * j)
print()
'Python > Python 기초' 카테고리의 다른 글
[Python] try-except 예외처리 (0) | 2021.08.21 |
---|---|
[Python] 파이썬 while 반복문 (0) | 2021.08.21 |
[Python] 조건문 (0) | 2021.06.02 |
[Python] 기본 입출력 (0) | 2021.06.02 |
[Python] 사전 자료형 (0) | 2021.06.02 |