Try to 개발자 EthanJ의 성장 로그

Python Control statment (while loop) 파이썬 제어문 (while 반복문) 본문

CS & DS/Basic Python with Data Crawling

Python Control statment (while loop) 파이썬 제어문 (while 반복문)

EthanJ 2022. 10. 8. 19:22

파이썬 제어문 Python Control statement

2) while 반복문 (+조건문) while loop

  • 주어진 조건을 판단하여 조건이 참일 동안 특정한 명령문을 반복적으로 수행하는 것

 

▶ 기본 문법

    while 조건문:
        반복적으로 수행할 문장1
        반복적으로 수행할 문장2
        ...

 

▶ 주의해야할 문법 :

  • 조건문 뒤에 반드시 콜론(:)을 써야 한다.
  • 조건문이 있는 문장 하위에 속하는 실행문장들은 반드시 한 번 들여쓰기 되어야 한다. ( 자동 / tab / space 4번)
  • 무한반복문에 대한 이해와 관련된 키워드(break, continue 등)를 활용할 수 있어야 한다.

 

▶ 무한반복문 : 조건문이 무조건 참인 경우, while 반복문은 무한히 반복된다.

  • break 키워드 : 특정 조건을 만족할 경우 제어문을 빠져나가 반복을 종료한다.
  • continue : 특정 조건을 만족할 경우 반복문을 종료하는 것이 아니라 반복문의 시작으로 돌아간다.

 

# Hello world 3번 출력

loop = 0

while loop <= 2:
    loop += 1
    print("Hello world")
Hello world
Hello world
Hello world

 

# while문의 조건식이 무조건 참으로만 판단되는 경우 > 무한루프
# 이 경우 보통 break문을 조합해 종료

a = 1

while True:
    print("무한루프", a)
    
    if a > 2:
        break
    
    a += 1
무한루프 1
무한루프 2
무한루프 3

 

# continue > 돌던 바퀴만 스킵, 전체 반복문 실행은 유지

a = 1

while a < 10:
    a += 1
    
    if a % 2 == 0:
        continue
    
    print(a)
3
5
7
9

 

> 연습문제

  • 초기식에는 score 변수에 100을 저장
  • while문에서 score가 60점 이상인 경우에만 다시 score에 input()으로 새 점수를 입력
  • 입력받은 점수들은 리스트 자료형인 score_list에 저장하시오.
  • 60점 미만의 점수가 score에 저장되면 반복문을 탈출하고
  • 이후 score_list에 저장된 점수는 모두 내림차순 정렬해서 출력하시오.
# 첫 번째 바퀴가 무조건 True여야 while문이 작동 > True가 되도록 적당한 숫자넣기

score = 100
# 점수를 적재받을 빈 리스트 선언

score_list = []
# 60점 이상인 경우에만 다시 추가로 실행하기

while score >= 60:
    score = int(input('점수를 입력해주세요. : ')) # score 변수 < 점수 (재)입력받기

    score_list.append(score) # 입력받은 점수 리스트 item으로 추가

# 탈출한 후에(들여쓰기 X) 점수 내림차순 정렬

score_list.sort(reverse=True) 
print(score_list)
점수를 입력해주세요. : 70
점수를 입력해주세요. : 80
점수를 입력해주세요. : 50
[80, 70, 50]

 

 

# method return값 유무 차이
# return None > 원본(caller) item 영향 O
# return != None > 원본(caller) item 영향 X

score_test = [2, 7, 5, 8, 10, 3]

print(score_test.count(5)) # return item > caller item 영향 X
print(score_test)

print(score_test.sort()) # return None > caller item 영향 O
print(score_test)
1
[2, 7, 5, 8, 10, 3]
None
[2, 3, 5, 7, 8, 10]

 

 

# list.append(item) > return None > caller item 영향 O

print(score_test.append(4)) 
print(score_test)
None
[2, 3, 5, 7, 8, 10, 4]

 

# str.split(item) > return item > caller item 영향 X

a = "test1,test2,test3"
print(a.split(","))

print(a)
['test1', 'test2', 'test3']
test1,test2,test3
Comments