Study

[혼자 공부하는 파이썬] Chapter04 반복문 - 3.반복문과 while 반복문

이웃비 2021. 4. 3. 12:59
**
스터디하면서 이미 알고 있는 부분들은 제외하고 기록하고 싶은 부분만 업로드하기 때문에 책 내용과 다를 수 있습니다

 

for 반복문 : 범위와 함께 사용하기

## for 반복문과 범위

# for 반복문과 범위를 함께 조합해서 사용합니다
for i in range(5):
    print(str(i) + "= 반복 변수")
print()
'''
결과 : 
0= 반복 변수
1= 반복 변수
2= 반복 변수
3= 반복 변수
4= 반복 변수
'''

for i in range(5, 10):
    print(str(i) + "= 반복 변수")
print()
'''
결과 : 
5= 반복 변수
6= 반복 변수
7= 반복 변수
8= 반복 변수
9= 반복 변수
'''

for i in range(0, 10, 3): # 0부터 3씩 증가하면서 (10-1)까지의 정수로 범위를 만든다
    print(str(i) + "= 반복 변수")
print()
'''
결과 : 
0= 반복 변수
3= 반복 변수
6= 반복 변수
9= 반복 변수
'''

 

for 반복문: 반대로 반복하기

# 역반복문
for i in range(4, 0 -1, -1):
    print("현재 반복 변수: {}".format(i))

'''
현재 반복 변수: 4
현재 반복 변수: 3
현재 반복 변수: 2
현재 반복 변수: 1
현재 반복 변수: 0
'''

reversed()함수는 처음 사용하면 "이렇게 하면 될거같은데 안되네?"할 정도로 주의 사항이 굉장히 많은 함수라는걸 주의!한다

# 역반복문
for i in reversed(range(5)):
    print("현재 반복 변수: {}".format(i))

'''
현재 반복 변수: 4
현재 반복 변수: 3
현재 반복 변수: 2
현재 반복 변수: 1
현재 반복 변수: 0
'''

 

while 반복문

# while 반복문
while True:
    # "."을 출력한다
    # 기본적으로 end는 "\n"이라 줄바꿈이 일어나는데 ""로 바꿔서 줄바꿈이 일어나지 않게 한다
    print(".", end="")

# 실행하면 화면에 . 이 무한으로 출력되는데 Ctrl+C를 눌르면 강제 종료된다.

 

while 반복문: 시간을 기반으로 반복하기

** 유닉스 타임 : 세계표준시. 1970년 1월 1일 0시 0분 0초를 기준으로 몇 초가 지났는지를 정수로 나타낸 것.  

## 5초 동안 반복하기

# 시간과 관련된 기능을 가져옵니다
import time

number = 0

print(time.time()) # 1616948963.803591
print(time.time() + 5) # 1616948968.804589

# 5초동안 반복합니다
target_tick = time.time() + 5 # time.time()보다 5초 많게 설정됨
while time.time() < target_tick:
    number += 1

print("5초 동안 {}번 반복했습니다.".format(number)) # 5초 동안 9025471번 반복했습니다.

** 이를 활용하면 5초동안 다른 사용자의 응답을 기다릴 수 있다. 시간을 기반으로 조건을 걸때는 while반복문을 활용한다.

 

while 반복문:  break/continue 키워드

** 유닉스 타임 : 세계표준시. 1970년 1월 1일 0시 0분 0초를 기준으로 몇 초가 지났는지를 정수로 나타낸 것.  

## break

i = 0

while True:
    print("{}번째 반복문입니다".format(i))
    i = i + 1
    input_text = input("> 종료하시겠습니다(y/n): ")
    if input_text in ["y", "Y"]:
        print("반복을 종료합니다.")
        break

'''
0번째 반복문입니다
> 종료하시겠습니다(y/n): d
1번째 반복문입니다
> 종료하시겠습니다(y/n): n
2번째 반복문입니다
> 종료하시겠습니다(y/n): y
반복을 종료합니다.
'''
# continue

numbers = [5, 15, 6, 20, 7, 25]

for number in numbers:
    if number < 10:
        continue
    print(number)

'''
15
20
25
'''

** 처음부터 반복에 조건을 걸고 사용하고 싶을 때 continue키워드를 사용하면 이후 처리의 들여쓰기를 하나 줄일 수 있다.

 


출처 : 윤인성혼자 공부하는 파이썬, 한빛미디어, 2021