Python 과제 2. 가위바위보 게임
2023. 8. 21. 17:25ㆍ과제
과제 내용:
- 플레이어와 컴퓨터가 참여하는 가위바위보 게임을 만드세요.
- 게임은 다음 순서로 진행됩니다.
- 플레이어가 가위, 바위, 보 중 하나를 입력합니다.
- 컴퓨터도 무작위로 가위, 바위, 보 중 하나를 선택합니다.
- 플레이어와 컴퓨터의 선택을 비교하여 승패를 판정합니다.
- 결과를 출력하여 플레이어가 이겼는지, 컴퓨터가 이겼는지, 비겼는지를 알려줍니다.
- 게임을 반복하거나 종료할 수 있는 기능을 추가하세요.
추가 도전 과제:
- 게임의 승, 패, 무승부 횟수를 기록하고, 게임 종료 시에 플레이어에게 통계를 제공하세요.
- 플레이어가 입력할 때 대소문자를 구분하지 않도록 프로그램을 개선하세요.
- 플레이어가 게임을 반복하고 싶을 경우, 게임 재시작 여부를 묻고 그에 따라 게임을 초기화하거나 종료하는 기능을 추가하세요.
평가
- 사용자의 입력값을 ‘가위 바위 보’로 제한할 수 있는가
- 컴퓨터가 랜덤으로 ‘가위 바위 보’를 선택하게 할 수 있는가
- 다중 if 문으로 승패를 비교할 수 있는가
- while문을 이용해서 경기롤 반복시키고 통계를 만들 수 있는가
import random
list = ['가위','바위', '보']
com = random.choice(list)
print(com)
print('가위, 바위, 보 게임을 시작합니다.')
user= str(input("가위~ 바위~ 보!"))
if user not in list:
print("가위, 바위, 보 중 하나를 내시오")
else:
if com == user:
print('비겼습니다.')
elif (com == '바위' and user == '가위') or (com =='가위' and user == '보') or (com =='보' and user=='바위'):
print('졌습니다.')
else:
print('이겼습니다.')
처음에는 가위, 바위, 보를 각각 숫자로 치환하고 숫자끼리 크고 작음을 기준으로 if문을 구성하려고 했는데,
문자를 숫자로 치환하는 것을 찾다가 한세월 걸리고 결국 실패하는 바람에...
함수없이 문자끼리의 그룹을 만들어 결과는 내도록 했다. 일단은 이것도 기본적인 게임틀이고 추가살을 붙이는 건 천천히...
import random
list = ['rock','scissor', 'paper']
com = random.choice(list)
print(com)
count_win = 0
count_lose = 0
count_tie = 0
number_of_games = 0
while number_of_games == 0:
print("Let's start rock scissor paper game.")
user= str(input("Rock, scissor, paper!: ").lower())
if user not in list:
print("Enter among rock, scissor and paper.")
else:
if com == user:
print('비겼습니다.')
count_tie += 1
elif (com == 'rock' and user == 'scissor') or (com =='scissor' and user == 'paper') or (com =='paper' and user=='rock'):
print('졌습니다.')
count_lose += 1
else:
print('이겼습니다.')
count_win += 1
number_of_games += int(input("Enter 0 for more games, 1 to end the game: "))
else:
print("The game is ended.")
print('You won ', count_win , 'times')
print('You lost ', count_lose , 'times')
print('You tied ', count_tie , 'times')
가위바위보 게임 완성성성🏰 살도 두둑히 붙였다.
추가문제(게임반복, 종료 할수 있는 기능 추가 / 대소문자 상관없이 input 받기 / 이겼는지 졌는지 통계내기) 까지 완료🤓
'과제' 카테고리의 다른 글
| Python 과제 3. 클래스 사용해보기 (2) | 2023.08.21 |
|---|---|
| Python 과제 1. Up down game 만들기 (0) | 2023.08.21 |