Unit 17
1. while 반복문 사용하기
- while 반복문은 조건식을 지정하고 끝에 : (콜론)을 붙인 뒤 그 다음 줄에 반복할 코드와 변화식을 넣는다. 이때 초기식은 특별한 것이 없고 보통 변수에 값을 저장하는 코드이다.
- while 반복문에서는 초기식부터 시작하여 조건식을 판별한 다음, 조건식이 참이면 반복할 코드와 변화식을 함께 수행한다. 그런 후에 다시 조건식을 판별하여 참이면 코드를 계속 반복하고, 거짓이면 반복문을 끝낸 뒤 다음 코드를 실행한다.i = 0 # 초기식 while i < 100: # while 조건식 print('Hello, world!') # 반복할 코드 i += 1 # 변화식
- while 반복문은 반복할 코드 안에 변화식을 지정하지 않으면 반복이 끝나지 않고 계속 실행(무한 루프)이 된다.
# 초깃값이 감소 >>> i = 100 >>> while i > 0: ... print('Hello, world!', i) ... i -= 1 ... Hello, world! 100 Hello, world! 99 Hello, world! 98 ... (생략) Hello, world! 2 Hello, world! 1
- 입력한 횟수대로 반복하기
- 만약 3을 입력하여 count에 저장됐다면 'Hello, world!'는 3번만 출력된다.count = int(input('반복할 횟수를 입력하세요: ')) i = 0 while i < count: # i가 count보다 작을 때 반복 print('Hello, world!', i) i += 1
- 초깃값을 받은 뒤 초깃값만큼 출력하기
count = int(input('반복할 횟수를 입력하세요: ')) while count > 0: # count가 0보다 클 때 반복 print('Hello, world!', count) count -= 1 # count를 1씩 감소시킴
2. while 반복문에서 반복 횟수가 정해지지 않았을 때
- 난수(random number) : 특정 주기로 반복되지 않으며 규칙 없이 무작위로 나열되는 숫자
- 파이썬에서 난수를 생성하려면 random 모듈이 필요한데, 모듈은 'import random'을 선언하여 가져올 수 있다.
- random.random()으로 random 모듈의 random 함수 호출
- random.random()을 실행할 때 매번 다른 실수가 출력되는데 바로 이런 숫자가 난수이다.>>> random.random() 0.002383731799935007 >>> random.random() 0.3297914484498006
- 숫자를 알아보기 쉽게 하기 위해서는 정수를 생성하는 random 모듈의 randint 함수를 사용한다.
- 이런 randint 함수는 난수를 생성할 범위를 지정하며, 범위에 지정한 숫자도 난수에 포함된다. 즉 random.randint(1, 6)을 실행하면 1과 6 사이의 난수가 생성된다.random.randint(a, b)
- 1과 6 사이의 난수를 생성한 뒤 3이 나오면 반복을 끝내는 코드(3이 나올 때 까지 계속 반복)
- 난수를 이용하기 때문에 실행할 때마다 반복 횟수가 달라진다.import random # random 모듈을 가져옴 i = 0 while i != 3: # 3이 아닐 때 계속 반복 i = random.randint(1, 6) # randint를 사용하여 1과 6 사이의 난수를 생성 print(i)
- while 반복문은 반복 횟수가 정해져 있지 않을 때 유용하다.
- random.choice 함수를 사용하면 시퀀스 객체에서 요소를 무작위로 선택할 수 있다.
- 1, 2, 3, 4, 5, 6이 들어있는 리스트에서 무작위로 숫자를 선택한다.# random.choice(시퀀스객체) >>> dice = [1, 2, 3, 4, 5, 6] >>> random.choice(dice) 1 >>> random.choice(dice) 4 >>> random.choice(dice) 3
3. while 반복문으로 무한 루프 만들기
- while에 조건식 대신 True를 지정하면 무한히 반복하는 무한 루프가 만들어지고, 조건식이 항상 참이므로 변화식도 필요가 없다.
- 이 파일을 실행한 상태로 두면 'Hello, world!'는 끝나지 않고 계속 출력된다. 그렇기 때문에 IDLE이나 콘솔에서는 Ctrl+C를 입력하여 무한 루프를 종료할 수 있다.while True: # while에 True를 지정하면 무한 루프 print('Hello, world!')
- while에서 True 대신 True로 취급하는 값(0이 아닌 숫자, 내용이 있는 문자열 등)을 사용해도 무한 루프로 동작한다.
while 1: # 0이 아닌 숫자는 True로 취급하여 무한 루프로 동작 print('Hello, world!') while 'Hello': # 내용이 있는 문자열은 True로 취급하여 무한 루프로 동작 print('Hello, world!')
정리 참조
https://dojang.io/course/view.php?id=7
강좌: 파이썬 코딩 도장
모두 펼치기모두 접기
dojang.io
'Python 코딩도장' 카테고리의 다른 글
파이썬 코딩도장 Unit 13 ~ Unit 20 심사문제 풀이 (0) | 2022.01.16 |
---|---|
파이썬 코딩도장 Unit 18 정리 : break, continue로 반복문 제어 (0) | 2022.01.15 |
파이썬 코딩도장 Unit 16 정리 : for 반복문 (0) | 2022.01.15 |
파이썬 코딩도장 Unit 15 정리 : elif (0) | 2022.01.14 |
파이썬 코딩도장 Unit 14 정리 : else (0) | 2022.01.13 |