while반복문
리스트 또는 딕셔너리 내부의 요소를 모두 순회하는 경우, 즉 특정 횟수만큼 반복하는 경우에는 for 반복문을 사용하지만 while 반복문 또한 존재한다.
# 기본 형태
while Boolean 표현식:
문장
무한 반복문
while True:
# '.'을 출력
# 기본적으로 end가 '\n'이라 줄바꿈이 일어나는데
# 빈 문자열 ''로 바꿔서 줄바꿈이 일어나지 않게 한다.
print('.', end='')
실행하면 무한하게 ' . '이 출력되게 되는데 프로그램이 종료되지 않는다. 일반적으로 윈도우 사용시 파워쉘이나 프롬프트 창에서 실행하고, 맥에서는 터미널에서 해보는 것을 권장한다. Ctrl + C를 눌러서 종료해준다.
while 반복문을 for 반복문처럼 사용하기
i = 0
while i < 10:
print('{}번째 반복입니다'.format(i))
i = i+1 # 안넣어주면 계속 0으로 무한 반복된다.
# i += 1 과 같다.
0번째 반복입니다
1번째 반복입니다
2번째 반복입니다
3번째 반복입니다
4번째 반복입니다
5번째 반복입니다
6번째 반복입니다
7번째 반복입니다
8번째 반복입니다
9번째 반복입니다
for 반복문으로는 무한 반복을 구현할 수 없다. while 반복문에서 가장 중요한 키워드는 '조건'이다. 조건을 반복해서 사용해야 한다면 while을 사용하는 것이 좋다.
while 반복문: 상태를 기반으로 반복하기
리스트의 remover( ) 함수는 리스트 내부에서 해당하는 값을 하나만 제거할 수 있었지만 while 반복문을 활용하면 여러 개를 제거할 수 있다. while 반복문의 조건을 '리스트 내부에 요소가 있는 동안'으로 지정한다.
# 변수를 선언
list_test = [1, 2, 1, 2]
value = 2
# list_test 내부에 value가 있다면 반복
while value in list_test:
list_test.remove(value)
print(list_test)
[1, 1]
# cf) del 함수
list_test_1 = [1, 2, 1, 2]
del list_test_1[::-2]
print(list_test_1)
[1, 1]
while 반복문: 시간을 기반으로 반복하기
유닉스 타임(Unix Time)이란 세계 표준시(UTC)로, 1972년 1월 1일 0시 0분 0초를 기준으로 몇 초가 지났는지를 정수로 나타낸 것을 말한다.
이를 활용하면 5초 동안 다른 사용자의 응답을 기다릴 수 있고, 통신할 때 자주 사용하는 코드이다.
while 반복문: break 키워드 / continue 키워드
반복문 내부에서만 사용할 수 있는 break와 continue라는 특수한 키워드가 있다.
break 키워드는 반복문을 벗어날 때 사용하는 키워드로 일반적으로 무한 반복문을 만들고, 내부의 반복을 벗어날 때 많이 사용한다.
continue 키워드는 현재 반복을 생략하고, 다음 반복으로 넘어갈 때 사용하는 키워드이다.
# 변수 선언
i = 0
# 무한 반복
while True:
# 몇 번째 반복인지 출력
print('{}번째 반복문입니다.'.format(i))
i = i+1
# 반복을 종료한다.
input_text = input('> 종료하시겠습니까?(y): ')
if input_text in ['y', 'Y']:
print('반복을 종료합니다.')
break
다음과 같이 처음부터 반복에 조건을 걸고 사용하고 싶을 때 continue 키워드를 사용하면 이후 처리의 들여쓰기를 하나 줄일 수 있다.
😁
출처:
혼자공부하는파이썬(윤인성) https://www.youtube.com/watch?v=Bvn2F_7_Od8&list=PLBXuLgInP-5kr0PclHz1ubNZgESmliuB7&index=28
https://www.youtube.com/watch?v=joyIjI_aM4I&list=PLBXuLgInP-5kr0PclHz1ubNZgESmliuB7&index=29
'Data Scientist' 카테고리의 다른 글
태블로 (막대차트, 분산차트, 대시보드) (0) | 2020.05.15 |
---|---|
tableau-online experiences (0) | 2020.04.14 |
파이썬(for 반복문, 딕셔너리, 딕셔너리와 for반복문, range) (0) | 2020.03.18 |
파이썬(리스트: 리스트 연산자, append, insert, extend, del, pop, remove, clear, in/not in) (0) | 2020.03.17 |
파이썬(불 자료형과 if 조건문) (0) | 2020.03.16 |