-
39 - while 반복문study with Q - 파이썬 2024. 4. 25. 08:08
#while 반복문 (중고급 단계에서 사용하기는 한디, 일단 눈도장 고고)
: 무한 반복문 - 즉, 끝나지 않는 반복문
while 조건:
복합구문
-의 형태로 사용하고, 조건이 참이라면 계속 반복한다.
eg) 다음과 같이 조건이 참이면, 끝나지 않고 무한히 반복함. (이때, 프로그램을 멈추고 싶다면 ctl+c를 누른다.)
while True: print(".")
#while 반복문 - for 반복문처럼 사용하기
: for 반복문으로 할 수 있는 일은 while 반복문으로 구현할 수 있지만, 반대는 성립하지 않는다.
!i*를 반복변수로 사용하고 while에 조건을 붙이면 :
i = 0 while i < 5: print(f"{i}번째 반복") i+=1 >>> 0번째 반복 1번째 반복 2번째 반복 3번째 반복 4번째 반복
※주의: print 위치가 바뀌면 출력도 바뀐다.
더보기i = 0 while i < 5: i+=1 print(f"{i}번째 반복") >>> 1번째 반복 2번째 반복 3번째 반복 4번째 반복 5번째 반복
#while 반복문 - 상태 기반 반복
위의 while 반복문은 for 반복문에 range를 이용해서 다음과 같이 코드를 짧게 바꿀 수 있다.
for i in range(0, 5): print(f"{i}번째 반복")
🧐 그럼 while 반복문은 언제 쓰는디? > for 반복문으로 구현할 수 없는 것 (조건으로 반복하는 것)
예시) 리스트 내부에서 특정 값이 사라질 때까지 반복문을 계속 돌리는 것
a라는 리스트에서 2의 값을 삭제하면
방법1: 2의 값을 삭제할 때마다 print하는 방법
a = [0,1,2,1,2,0,1,2] value = 2 while value in a: a.remove(value) print(a) >>> [0, 1, 1, 2, 0, 1, 2] [0, 1, 1, 0, 1, 2] [0, 1, 1, 0, 1]
방법2: 2의 값을 모두 삭제하고 print하는 방법 - 외우세여
a = [0,1,2,1,2,0,1,2] value = 2 while value in a: a.remove(value) print(a) >>> [0, 1, 1, 0, 1]
#while 반복문 - 시간 기반 반복
대부분의 프로그램에는 UNIX 시간*이라는 함수가 있다.
* UNIX 시간 : 1970년 1월 1일 00:00:00 협정 세계시 부터의 경과 시간을 초로 환산하여 정수로 나타낸 것
imprt time이라는 구문(문장)을 사용해서 time이라는 모듈을 읽어들이고 time.time코드를 사용해서 확인
>무ㅔ?import time print(time.time())
→ 특정 시간 동안 뭘 하고 있어라-를 만들 수 있음 (휴대폰에 타이머 같은 건가)
1초동안 UNIX 시간을
import time start = time.time() now = time.time() while now < start + 1: print(now, start + 1) now = time.time()
※주의: while 내부에 now 함수가 없다면 now도 고정값이 되어 코드가 무한히 반복됨
replit
'study with Q - 파이썬' 카테고리의 다른 글
41 - 4-3절 확인문제 (0) 2024.04.27 40 - break/continue 키워드 (0) 2024.04.27 38 - reversed() 함수와 별 피라미드 - 추가연습 필요 (0) 2024.04.22 37 - 백준 온라인 저지에서 여러 줄 입력 받기 - 추가문풀 필요 (0) 2024.04.22 36 - 수열의 일반항과 점화식, 등차 수열, 피보나치 수열 - 추가 문제 풀기 (0) 2024.04.16