[코딩도장] day9. while 반복문
■ 들어가기
- 파이썬 코딩 도장 (남재윤/길벗). 을 공부하며 정리하는 블로그
▶ Unit17. while 반복문으로 Hello, world! 100번 출력하기
- 17.1 while 반복문 사용하기
- 17.2 반복 횟수가 정해지지 않은 경우
- 17.3 while 반복문으로 무한 루프 만들기
>> 17.1 while 반복문 사용하기 <<
1. while 반복문
- 조건식으로만 동작하며 반복할 코드 안에 조건식에 영향을 주는 변화식이 들어감
- 1) 초기식을 시작으로 조건식을 판별 (보통 변수에 값을 저장하는 코드 - 초기화)
2) 조건식이 참(True)인 경우 '반복할 코드'와 '변화식'을 함께 수행 (변화식 미지정 시, 무한루프에 빠짐)
3) 다시 조건식을 판별하여 참(True)이면 코드를 계속 반복, 거짓(False)이면 반복문을 종료
i = 0 # 초기식 while i < 100 : # while 조건식 print('Hello, world!') # 반복할 코드 i += 1 # 변화식 |
2. while 반복문 사용하기
- 사용법
초기식
while 조건식:
반복할 코드
변화식
>>> i=0 >>> while i < 5: ... print('Hello, world!') ... i += 1 ... Hello, world! Hello, world! Hello, world! Hello, world! Hello, world! |
2.1 초깃값 감소시키기
- 초깃값을 크게 주고, 변수를 감소시키면서 반복 수행
>>> i=5 >>> while i > 0 : ... print('Hello, world!', i) ... i -= 1 ... Hello, world! 5 Hello, world! 4 Hello, world! 3 Hello, world! 2 Hello, world! 1 |
2.2 입력한 횟수대로 반복하기
- input()으로 받은 값을 변수로 반복문 수행 가능
코드 (while_input_increment.py) | 결과 |
#!/usr/local/bin/python3.8 count = int(input('반복할 횟수를 입력하세요: ')) i = 0 while i < count : # i가 count보다 작을 때 반복 print('Hello, world!', i) i += 1 exit() |
반복할 횟수를 입력하세요: 3 Hello, world! 0 Hello, world! 1 Hello, world! 2 |
코드 (while_input_decrement.py) | 결과 |
#!/usr/local/bin/python3.8 count = int(input('반복할 횟수를 입력하세요: ')) while count > 0 : # count가 0보다 클 때 반복 print('Hello, world!', count) count -= 1 exit() |
반복할 횟수를 입력하세요: 3 Hello, world! 3 Hello, world! 2 Hello, world! 1 |
>> 17.2 반복 횟수가 정해지지 않은 경우 <<
3. 난수발생 : random()
- 규칙 없이 무작위로 나열되는 숫자인 '난수'를 사용하여 발생 숫자에 따라 반복 종료
- random모듈을 사용하여 난수 생성 (실수)
- 사용법: import 모듈
import random # random 모듈을 가져옴
>>> import random >>> random.random() 0.5433636635043579 >>> random.random() 0.8618855360510091 >>> random.random() 0.6091866770163665 |
3.1 난수를 정수로 생성 : randint()
- 사용법: random.randint(a, b)
- a와 b 사이의 난수가 정수로 생성
>>> random.randint(1, 6) 2 >>> random.randint(1, 6) 5 >>> random.randint(1, 6) 4 |
코드 (while_random.py) | 결과 |
#!/usr/local/bin/python3.8 import random # random 모듈을 가져옴 i = 0 while i != 3 : # 3이 아닐 때 계속 반복 i = random.randint(1, 6) # randint를 사용하여 1과 6사이의 난수를 생성 print(i) exit() |
1 5 5 6 6 3 |
3.2 시퀀스 객체에서 요소를 무작위로 선택 : choice()
- 사용법: random.choice(시퀀스객체)
- 리스크, 튜플, range, 문자열 등 가능
>>> import random >>> dice = [1, 2, 3, 4, 5, 6] >>> random.choice(dice) 5 >>> random.choice(dice) 6 |
>> 17.3 while 반복문으로 무한 루프 만들기 <<
- while 조건식에 True를 지정하면 무한 루프 수행
- True로 취급되는 값(ex. 0이 아닌 숫자, 내용이 있는 문자열, ..) 도 사용 가능