반응형
while 반복문
while True/False Expression:
code
# while 반복문 사용
while True:
# "."을 출력한다./
# 기본적으로 end가 "\n" 이라 줄바꿈이 일어나는데
# 빈 문자열을 "" 로 바꾸어서 줄바꿈이 일어나지 않고 무한대로 . 이 찍힌다.
print(".", end="")
->
................(생략)
i = 0
while i < 10:
print("{}번쨰 i입니다.".format(i))
i += 1
while 반복문 : 상태를 기반으로 반복하기 : remove() 함수는 리스트 내부에서 해당값을 하나만 제거할 수 있었다. while을 사용하면 여러 개를 제거 할 수 있다. while 반복문의 조건을 '리스트 내부에 요소가 있는 동안'으로 지정한다. 알고리즘에서 많이 쓰이는 형태이다.
test_list = [1,2,1,2]
value = 2
while value in test_list:
test_list.remove(value)
print(test_list)
-> [1, 1]
while 반복문 : 시간을 기반으로 반복하기 : 시간을 기반으로 반복하려면 유닉스타임이라는 개념을 알아야 한다. 유닉스타임이란 세계 표준시(UTC)로, 1970년 1월 1일 0시 0분 0초를 기준으로 몇 초가 지났는지를 정수로 나타낸 것을 말한다.
import time
print(time.time())
-> 1565938064.498732
number = 0
target_tick = time.time() + 5
while time.time() < target_tick :
number += 1
#출력합니다.
print("5초 동안 {}번 반복하였습니다.".format(number))
-> 5초 동안 24249793번 반복하였습니다.
Tip : for loop vs while loop
스스로 코드를 입력해 보며 while 반복문보다 for 반복문으로 작성하는 것이 더 편할 것 같다. 혹은 그 반대가 좋겠다라는 것을 직접 스스로 느끼는 것이 중요하다. 일반적으로 for는 반복 횟수를 알고 있는 경우, while은 조건에 따라 반복할 때 사용한다.
- for Loop
- 반복 횟수가 정해진 경우
- 배열과 함께 주로 많이 사용
- while Loop
- 무한 루프나 특정 조건에 만족할 때까지 반복해야하는 경우
while 반복문 : break 키워드 / continue 키워드
반복문 내부에서만 사용할 수 있는 break 와 continue 라는 특수한 키워드가 있다.
break 키워드 : break키워드는 반복문을 벗어날 때 사용하며, 일반적으로 무한 반복문을 만들고 내부의 반복을 벗어날 때 많이 사용한다.
i = 0
while True:
print("{}번째 반복입니다.".format(i))
i = i + 1
# 반복을 종료합니다.
input_text = input("> 종료하시겠습니까?(Y/y): ")
if input_text in ["Y","y"]:
print("반복을 종료합니다")
break
continue 키워드 : 현재 반복을 생략하고, 다음 반복으로 넘어갈 때 사용하는 키워드.
numbers = [5, 15, 6, 20, 7 , 35]
for number in numbers :
if number < 10:
continue
print(number)
->
15
20
35
Quiz
# Quiz1
numbers = [5, 15, 6, 20, 7 , 35]
for number in numbers :
if number < 10:
continue
print(number)
->
15
20
35
# Quiz2
limit = 10000
i = 1
sum = 0
while sum < limit :
sum += i
i += 1
print("{}를 더할 때 {}을 넘으며 그때의 값은 {}입니다.".format(i,limit,sum))
-> 142를 더할 때 10000을 넘으며 그때의 값은 10011입니다.
# Quiz3
limit = 10000
i = 1
sum = 0
while sum < limit :
sum += i
i += 1
print("{}를 더할 때 {}을 넘으며 그때의 값은 {}입니다.".format(i,limit,sum))
-> 142를 더할 때 10000을 넘으며 그때의 값은 10011입니다.
반응형