IT/파이썬

[코딩도장] day9. while 반복문

_하늘여우_ 2020. 8. 17. 23:17

■ 들어가기

- 파이썬 코딩 도장 (남재윤/길벗). 을 공부하며 정리하는 블로그


▶ 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이 아닌 숫자, 내용이 있는 문자열, ..) 도 사용 가능