반응형
컴퓨터가 랜덤으로 가위, 바위, 보 중 하나를 결정하고, 사용자에게 입력받은 값과 비교해 '비겼습니다', '이겼습니다', '졌습니다' 결과값을 출력하는 프로그램을 작성해보자.
단, 잘못 입력한 경우 올바른 값이 입력될 때 까지 반복
import random
srp = ["가위", "바위", "보"]
random.shuffle(srp)
while True:
my_srp = input("가위, 바위, 보 중 하나를 입력하세요: ")
if my_srp in srp:
break
else:
print("잘못 입력하였습니다. 다시 입력하세요.")
com_srp = random.choice(srp)
if my_srp == com_srp:
print("비겼습니다.")
elif my_srp == "가위" and com_srp == "보"or my_srp == "바위" and com_srp == "가위"or my_srp == "보" and com_srp == "바위":
print("컴:", com_srp)
print("당신이 이겼습니다.")
else:
print("컴:", com_srp)
print("당신이 졌습니다.")
▶ random.shuffle(srp) : srp 변수에 저장된 리스트를 무작위로 섞어줌
▶ 사용자로부터 가위, 바위, 보 중 하나를 입력받고, 이를 제외한 다른 말을 입력하면 잘못 입력했음을 안내해줌
while True:
my_srp = input("가위, 바위, 보 중 하나를 입력하세요: ")
if my_srp in srp:
break
else:
print("잘못 입력하였습니다. 다시 입력하세요.")
▶ com_srp = random.choice(srp) : srp 변수에 저장된 리스트 중 요소 하나를 무작위로 선택함
▶ if, elif, else문을 이용해 컴퓨터와 사용자의 가위, 바위, 보 결과값을 비교함
if my_srp == com_srp:
print("비겼습니다.")
elif my_srp == "가위" and com_srp == "보"or my_srp == "바위" and com_srp == "가위"or my_srp == "보" and com_srp == "바위":
print("컴:", com_srp)
print("당신이 이겼습니다.")
else:
print("컴:", com_srp)
print("당신이 졌습니다.")
위와 동일한 가정으로 프로그램을 작성해보자.
import random
def match(computer, user):
if computer == user:
return '비겼습니다'
elif match_table[computer] == user:
return '졌습니다'
else:
return '이겼습니다'
rps_dic = {1:'가위', '2':'바위', 3:'보'}
match_table = {'가위':'보','바위':'가위', '보':'바위'}
computer = rps_dic[random.randint(1,3)]
user = input('가위, 바위, 보 입력 ')
result = match(computer, user)
print(result)
rps_dic = {1:'가위', '2':'바위', 3:'보'}
match_table = {'가위':'보','바위':'가위', '보':'바위'}
▶ 딕셔너리를 이용해 가위, 바위, 보를 저장
가위바위보에서 비겼을 때, 다시 가위바위보를 진행하도록 하는 프로그램을 작성해보자.
즉, 승부가 날 때까지 게임이 계속된다.
import random
srp = ["가위", "바위", "보"]
random.shuffle(srp)
my_srp = com_srp = "가위"
while my_srp == com_srp:
while True:
my_srp = input("가위, 바위, 보 중 하나를 입력하세요: ")
if my_srp in srp:
break
else:
print("잘못 입력하였습니다. 다시 입력하세요.")
com_srp = random.choice(srp)
if my_srp == com_srp:
print("비겼습니다. 다시 합니다.")
elif my_srp == "가위" and com_srp == "보"or my_srp == "바위" and com_srp == "가위"or my_srp == "보" and com_srp == "바위":
print("컴:", com_srp)
print("당신이 이겼습니다.")
else:
print("컴:", com_srp)
print("당신이 졌습니다.")
▶ while my_srp == com_srp : 사용자의 입력값과 컴퓨터가 랜덤으로 뽑은 값이 동일한 경우(가위, 바위, 보 게임이 비겼을 경우)에만 반복문이 진행됨
반응형
'Language > Python' 카테고리의 다른 글
[ Python ] 주사위 2개 같은 숫자 나오기 게임 프로그램 (0) | 2021.09.01 |
---|---|
[ Python ] 구매 품목 확인 프로그램 (0) | 2021.08.31 |
[ Python ] To-Do List 출력 프로그램 (0) | 2021.08.30 |
[ Python ] 다각형 그리기 프로그램 (0) | 2021.08.30 |
[ Python ] 주사위 빈도 계산 프로그램 (0) | 2021.08.30 |