# 가위 바위 보 단계
# 대상 겨로가를 저장하는 딕셔너리 만들기
# 딕셔너리를 사용해 대결 결과를 판단
#code project
import random #컴퓨터가 무작위로 선택하는 데에 필요
rps = ['가위', '바위', '보'] # 가위 바위 보를 저장하는 리스트
result = {
('가위', '보'): True,
('가위', '바위'): False,
('바위', '가위'): True,
('바위', '보'): False,
('보', '바위'): True,
('보', '가위'): False
}
# 딕셔너리에 대결 결과를 저장
# 키는 사용자와 컴퓨터의 선택을 튜플로, 값은 그에 따른 결과를 논리형으로 저장
# True는 사용자의 승리, False는 사용자의 패배
while True:
player = input('가위/바위/보/끝: ')
computer = random.choice(rps)
# 게임을 무한 반복(while), 사용자에게는 입력, 컴퓨터는 랜덤하게 선택
if player == '끝':
break
print(player, computer)
# 끝을 입력하면 반복을 종료 (break), 선택은 실행할때마다 바뀜
if player == computer:
print('비겼어요!')
elif result[(player, computer)]:
print('이겼어요!')
else:
print('졌어요!')
# 같은 것을 선택하면 비겼어요! 를 출력, 아닐 경우 이겼는지 졌는지를
#딕셔너리를 참조해서 판단하고 출력
# 딕셔너리를 활용하면 이전 게임에서의 대결 결과를 판단하는 부분을 줄일 수 있음
# 혹시나 새로운 규칙이 생기더라도 쉽게 추가할 수 있다는 장점도 있음
# 가위/바위/보/끝: 가위
# 가위 보
# 이겼어요!
# 가위/바위/보/끝: 바위
# 바위 바위
# 비겼어요!
# 가위/바위/보/끝: 보
# 보 바위
# 이겼어요!