이번 시간에는 반복 문의 while 문을 배워보도록 하겠습니다.
반복문에는 for문과 while문이 있지요!
이전 시간에서 배워온
2020/01/16 - [Python] - #Python -15. 사용자 입력 받기
2020/01/22 - [Python] - #Python -20. 모듈 사용하기
를 참조해 간단한 1~3 숫자 맞추기 게임을 제작해보았습니다.
여기서 사용한 while문은
2020/01/15 - [Python] - #Python -9. if, 조건문
과 공통점이 존재하지요!
코드를 보면서 파헤쳐보겠습니다.
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) 무한 반복을 사용할 때 이러한 코드를 작성해 조건 문을 걸어줄 때도 있습니다!
결론: 개취존중
'Programming > Python' 카테고리의 다른 글
#Python - 32. 파이썬 exception 종류 (0) | 2020.02.07 |
---|---|
#Python - 31. 파이썬 break, continue (0) | 2020.02.07 |
#Python - 29. 파이썬 튜플 반복 응용 (0) | 2020.02.06 |
#Python - 28. 파이썬 packing, unpacking (0) | 2020.02.05 |
#Python - 27. 파이썬 튜플 만들기 (0) | 2020.02.05 |
댓글