ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [코딩도장] day9. while 반복문
    IT/파이썬 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이 아닌 숫자, 내용이 있는 문자열, ..) 도 사용 가능

    댓글

Designed by Tistory.