#Python - 30. 파이썬 while문
본문 바로가기
Programming/Python

#Python - 30. 파이썬 while문

by 권가 2020. 2. 6.

이번 시간에는 반복 문의 while 문을 배워보도록 하겠습니다.

반복문에는 for문과 while문이 있지요!

이전 시간에서 배워온 

2020/01/16 - [Python] - #Python -15. 사용자 입력 받기

 

#Python -15. 사용자 입력 받기

파이썬, 모든 프로그램의 처리 동작 def sum(no): return no + 10 def sub(no): return no - 10 def mul(no): return no * 10 def div(no): return no / 10 print('수를 하나 선택해주세요.') mine = float(inpu..

kwongas.tistory.com

2020/01/22 - [Python] - #Python -20. 모듈 사용하기

 

#Python -20. 모듈 사용하기

이번 시간은 Python의 다양한 모듈을 사용해보도록 하겠습니다. import math r = 10 print('반지름이', r, '인 원의 넓이는', 2*math.pi*r) random_no = 2.41253 print('{}내림={}'.format(random_no, math.floo..

kwongas.tistory.com

를 참조해 간단한 1~3 숫자 맞추기 게임을 제작해보았습니다.

여기서 사용한 while문은 

2020/01/15 - [Python] - #Python -9. if, 조건문

 

#Python -9. if, 조건문

if True: print('조건 블럭에 속한 코드') print('같은 조건 블럭에 여러줄을 쓸 경우') print('동일한 개수의 들여쓰기를 해줘야한다.') if True: print('조건 블럭에 속한 코드') print('조건 블럭에..

kwongas.tistory.com

과 공통점이 존재하지요!

코드를 보면서 파헤쳐보겠습니다.

import random
print('1부터 3까지 랜덤 수 맞추기 게임')
random_number = random.choice(['1', '2', '3'])
print('정답={}'.format(random_number))
selected = input('1~3 중 선택>')
while selected not in random_number:
    print('틀렸습니다.')
    selected = input('1~3 중 선택>')
print('맞췄습니다!')

테스트 코드이기에 정답을 미리 출력해 테스트해보았습니다.

 

while문과 if문의 공통점은 조건 입니다.

조건식에서 참일 때 

if문 아래 들여쓰기 후 코드가 실행됩니다.

while문 아래 들여쓰기 후 코드가 실행됩니다.

 

다음은 반복문인 for문과 while문의 공통점을 알아보겠습니다.

간단하게 "가, 나, 다, 라, 마"를 for문을 이용해 출력해봤습니다.

1. 고전적인 방법

patterns = ['가', '나', '다', '라', '마']
for pattern in patterns:
    print(pattern)

2. range(len(patterns)) = 범위(길이(patterns)) 즉, patterns의 길이만큼 범위를 하나씩 for문의 변수 i를 대입시켜라.

patterns = ['가', '나', '다', '라', '마']
for i in range(len(patterns)):
    print(patterns[i])

이러한 for 반복문으로 작성한 코드를 while문으로 바꿔보겠습니다.

patterns = ['가', '나', '다', '라', '마']
i = 0
while i < len(patterns):
    print(patterns[i])
    i = i + 1

Line1: patterns를 리스트형으로 선언합니다.

Line2: i를 선언

Line3: 반복문의 조건에 i가 patterns의 길이(5)보다 작을 때까지 반복을 시작해라!

Line4: patterns의 index가 i인 것을 출력해라~

Line5: i <-(대입)- i + 1

그렇다면! for문과 while문을 왜 나눠 쓰는가?!

이러한 경우 즉, 시작과 끝이 명확하게 존재하며 정해진 횟수만큼 반복을 진행할 때는 for문이 편합니다!

Because: while 문으로 작성하면 조건도 걸어야하고 위와 같이 i라는 변수를 선언해줘야합니다.

 

다른 경우 즉, 시작과 끝이 명확하게 존재하지 않으며 어떠한 경우에 반복을 진행할 때는 while문이 편합니다!

Because: for문으로 작성하게 된다면 몇 번째까지 반복을 할 것이냐 정의하는 것도 어렵고 for문 안에 조건문도 작성해줘야하기에 귀찮을겁니다!

 

그러나, 개인 취향, 상황에 따라 자신에게 맞는 반복문을 사용하세요!

필자도 가끔은 for(true) 무한 반복을 사용할 때 이러한 코드를 작성해 조건 문을 걸어줄 때도 있습니다!

결론: 개취존중

댓글