요구조건
- 사용자가 가위, 바위, 보를 입력할 수 있게 한다. 이 외에 입력을 받으면 다시 입력하게 한다.
- 컴퓨터가 가위, 바위, 보를 랜덤으로 선택한다.
- 사용자와 컴퓨터의 값을 비교해서 게임 결과를 출력한다.
1) 먼저, 사용자의 입력을 받고 이 외의 입력을 받으면 다시 입력하게 하기 위한 While문을 작성한다.
option = ['가위','바위','보']
# player의 입력 받기
while True:
player_value = input("가위, 바위, 보 중에서 내주세요")
if player_value in option:
break
else:
print("값을 정확히 입력해주세요.")
2) random모듈을 이용하여 컴퓨터가 가위, 바위, 보를 랜덤으로 선택하도록 한다. 이때 randint와 random.choice 두가지 방법으로 코드를 작성 할 수 있다.
import random
# coumputer의 입력 받기
# 컴퓨터 가위, 바위, 보 선택 1(randint 사용)
random_number = random.randint(0,2)
computer_value = option[random_number]
# 컴퓨터 가위, 바위, 보 선택 2(choice 사용)
computer_value = random.choice(option)
3) 사용자와 컴퓨터의 선택된 값을 출력해준다.
print(f"플레이어는 {player_value}를 선택, 컴퓨터는 {computer_value}를 선택했습니다.")
4) 두 값을 비교하여 게임 결과를 출력한다.
if player_value == computer_value:
print("무승부")
elif player_value == "가위":
if computer_value == "보":
print("승리")
else:
print("패배")
elif player_value == "바위":
if computer_value == "가위":
print("승리")
else:
print("패배")
elif player_value == "보":
if computer_value == "바위":
print("승리")
else:
print("패배")
else:
print("예상하지 못한 경우입니다.")
✨ 완성된 전체 코드
import random
option = ['가위','바위','보']
# player의 입력 받기
while True:
player_value = input("가위, 바위, 보 중에서 내주세요")
if player_value in option:
break
else:
print("값을 정확히 입력해주세요.")
# coumputer의 입력 받기
# 컴퓨터 가위, 바위, 보 선택 1(randint 사용)
random_number = random.randint(0,2)
computer_value = option[random_number]
# 컴퓨터 가위, 바위, 보 선택 2(choice 사용)
computer_value = random.choice(option)
print(f"플레이어는 {player_value}를 선택, 컴퓨터는 {computer_value}를 선택했습니다.")
if player_value == computer_value:
print("무승부")
elif player_value == "가위":
if computer_value == "보":
print("승리")
else:
print("패배")
elif player_value == "바위":
if computer_value == "가위":
print("승리")
else:
print("패배")
elif player_value == "보":
if computer_value == "바위":
print("승리")
else:
print("패배")
else:
print("예상하지 못한 경우입니다.")