이번에는 주사위 게임을 프로젝트로 간단하게
만들어보았다.
프로젝트 아이디어는 아래 링크에서 참고했다
https://data-flair.training/blogs/python-project-ideas/
처음에는 그저 막연하게 어려워 보여서 미뤄왔던 프로젝트들을 하나씩 하면서
그저 이것이 막연한 두려움에서 비롯된 것이었구나 라는 것을 계속 깨닫는 하루가 되고 있다.
시간이 지나면서 점점 어려운 프로젝트들에 도전하겠지만,
이런 심플한 프로젝트를 통해 조금씩 워밍업 해나가면 나중에 도움이 될 수 있을 것 같다.
이번에 구현한 코드는 아래와 같다.
import random
while True:
yes_or_no = input("주사위 게임을 더 하시겠습니까?")
if yes_or_no == "yes":
print("첫번재 주사위 숫자 : {}".format(random.randrange(1,7)))
print("두번재 주사위 숫자 : {}".format(random.randrange(1,7)))
elif yes_or_no == "no":
print("주사위 게임을 종료합니다")
break
else:
print("yes 또는 no 를 입력해주세요!")
continue
프로젝트 고려사항
1. 예외를 잡아야 한다.
yes 또는 no 이외의 다른 문구를 입력하는 경우도 있을 것이다. 그것을 잡아서
유저가 게임에서 원하는 문구를 입력하도록 유도해야한다. 그리고 예외를 입력했다고해서
유저가 더이상 게임을 참여하지 못하게 만드는 것이 아니라, 이를 바로잡아 유저가 계속 게임에
참여시킬 수 있도록 만들어야 한다.
그래서 else 문을 사용하여 예외를 잡고, 원래 게임으로 돌아갈 수 있도록 continue 문을 사용했다.
--> 나중에 위 코드에서 더 발전시켜서 이전에 구현한 숫자 맞추기 게임에서 사용한
이중 if 문을 사용하여 사용자가 입력하는 문구를 좀 더 세밀하게 잡을 수 있게 만들 수 있다고 생각한다.
2. 유저가 원할 때, 게임을 종료시킬 수 있어야 한다.
유저는 무한정으로 게임을 할 수는 없다. 유저가 원할 때 게임을 종료할 수 있어야 한다.
이를 위해서 elif 문에 break 문을 구현했다.
프로젝트 주의사항
처음에는 저번 프로젝트에 사용한 try - except 문을 사용하려고 했으나
디버깅 결과 except 문으로 커버하고자 하는 예외가 너무 넓었기에 except 가
계속 작동하지 않는 문제가 발생했고, 결국에는 try - except 문을 버리고 if - else 문으로 선회했다.
참고 링크
https://www.polzak.net/post/python/rolling-a-dice-in-python/
https://www.pythonforbeginners.com/code-snippets-source-code/game-rolling-the-dice/
'언어 > Python' 카테고리의 다른 글
Python side project 04 : binary search (이진 탐색) (0) | 2020.05.28 |
---|---|
Python side project 03 : Email slicer (이메일 슬라이서) (0) | 2020.05.24 |
Python side project 01 : Number guessing(숫자 맞추기 게임) (0) | 2020.05.21 |
extends( ) VS appends( ) (0) | 2020.05.01 |
base64 인코딩 (0) | 2020.04.28 |