본문 바로가기

Python/Python 기초

[Python] 반복문

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