티스토리 뷰

[Dev]/Python

[Python] WHILE 반복문

ossians 2017. 12. 20. 13:21


[Python] WHILE 반복문


WHILE 이란?


WHILE은 어떠한 조건을 반복해서 실행하는 반복문 입니다.


기본문법

코드
attack = 0
while attack < 5:        # attack 변수가 5보다 작을 경우 아래 코드 실행
    attack = attack + 1 # attack 변수에 1을 더하기 합니다.
    print('%d번 공격하였습니다.'% attack)
    if attack == 5:      # attack 변수가 5와 같을 경우 아래 코드 
        print('상대가 쓰러졌습니다.')
 
결과
1번 공격하였습니다.
2번 공격하였습니다.
3번 공격하였습니다.
4번 공격하였습니다.
5번 공격하였습니다.
상대가 쓰러졌습니다.



WHILE은 설정한 조건이 '거짓'일때까지 반복하여 실행합니다.


위에서 작성한 WHILE 작성코드는 아래와 같이 작동합니다.



WHILE & CONTINUE 응용


CONTINUE는 반복문의 처음으로 이동 시켜줍니다.

아래의 코드는 0부터 10까지의 숫자 중 홀수만 print문을 출력하는 코드 입니다.

코드
attack = 0
while attack < 10:
    attack = attack + 1
    if attack % 2 == 0 : continue    # attack 변수 값을 2로 나눈 후 나머지 값이 0일때 continue 실행
    print('%d 공격력으로 몬스터를 죽였습니다.'% attack)
 
결과
1 공격력으로 몬스터를 죽였습니다.
3 공격력으로 몬스터를 죽였습니다.
5 공격력으로 몬스터를 죽였습니다.
7 공격력으로 몬스터를 죽였습니다.
9 공격력으로 몬스터를 죽였습니다.



위에서 작성한 WHILE 작성코드는 아래와 같이 작동합니다.




WHILE & BREAK 응용


BREAK문은 반복문을 강제로 종료합니다(빠져나옵니다).

아래의 코드에서 IF문의 조건이 참일 경우 BREAK문이 실행됩니다. 

코드
hp = 100
while True:        # While 반복문이 True 값으로 무조건 실행됩니다.
    attack = input('몬스터를 공격할 부위를 선택해 주세요.(머리/몸통/다리)'# attack 변수 값을 사용자에게 입력받습니다.
    if attack == '머리' :   # attack 변수가 '머리'일 경우 아래 코드를 실행합니다.
        attackint = 50
        hp = hp - attackint
        print('%d 공력력으로 머리를 공격합니다.' % attackint)
        print('몬스터의 남은 체력은 %d입니다.\n' % hp)

    elif attack == '몸통' : # attack 변수가 '몸통'일 경우 아래 코드를 실행합니다.
        attackint = 30
        hp = hp - attackint
        print('%d 공력력으로 몸통을 공격합니다.' % attackint, attack)
        print('몬스터의 남은 체력은 %d입니다.\n' % hp)

    elif attack =='다리' :  # attack 변수가 '다리'일 경우 아래 코드를 실행합니다.
        attackint = 10
        hp = hp - attackint
        print('%d 공력력으로 다리를 공격합니다.' % attackint, attack)
        print('몬스터의 남은 체력은 %d입니다.\n' % hp)

    else :    # attack 변수가 '머리/몸통/다리/'가 아닐 경우 아래 코드를 실행합니다.
        print('몬스터의 머리 / 몸통/ 다리 중 한곳을 공격해주세요.\n')

    if hp <= 0:    # hp 변수의 값이 0보다 작거나 같을 경우 아래의 코드를 실행합니다.
        print('몬스터가 쓰러졌습니다.\n')
        break
 
결과
몬스터를 공격할 부위를 선택해 주세요.(머리/몸통/다리)어깨
몬스터의 머리 / 몸통/ 다리 중 한곳을 공격해주세요.
 
몬스터를 공격할 부위를 선택해 주세요.(머리/몸통/다리)머리
50 공력력으로 머리를 공격합니다.
몬스터의 남은 체력은 50입니다.
 
몬스터를 공격할 부위를 선택해 주세요.(머리/몸통/다리)몸통
30 공력력으로 몸통을 공격합니다. 몸통
몬스터의 남은 체력은 20입니다.
 
몬스터를 공격할 부위를 선택해 주세요.(머리/몸통/다리)다리
10 공력력으로 다리를 공격합니다. 다리
몬스터의 남은 체력은 10입니다.
 
몬스터를 공격할 부위를 선택해 주세요.(머리/몸통/다리)머리
50 공력력으로 머리를 공격합니다.
몬스터의 남은 체력은 -40입니다.
 
몬스터가 쓰러졌습니다.






'[Dev] > Python' 카테고리의 다른 글

[Python] 파일 쓰기 / 읽기 / 추가  (0) 2017.12.21
[Python] 함수  (0) 2017.12.20
[Python] FOR 반복문  (0) 2017.12.05
[Python] IF 제어문  (0) 2017.12.05
[Python] 데이터 입력 받기(Input)  (3) 2017.12.04
Comments
최근에 올라온 글