인공지능, 데이터분석/[python] 문법, 실습문제

[Python 실습] 가위바위보게임

마법사 코딩공주 2023. 4. 28. 12:18
728x90
반응형

문제설명

가위, 바위, 보 게임 만들기

▶ 문제풀이

import random

a = ['가위', '바위', '보']
num = random.randint(0,2)
plug = 1
cnt = 2

while plug == 1:
    if cnt == 0:
        plug = 0
        break

    me = int(input("0(가위), 1(바위), 2(보)를 입력하세요 : "))

    print("컴퓨터 : " , a[num])
    print("유저 : " , a[me])

    if a[me]==a[num]:
        print("비겼습니다.")

    elif (a[me]=="가위"):
        if a[num]=="바위":
            print("졌어요.")
            cnt -= 1
        elif a[num] == "보":
            print("이겼어요")

    elif (a[me]=="바위"):
        if a[num]=="보":
            print("졌어요.")
            cnt -= 1
        elif a[num] == "가위":
            print("이겼어요")

    elif (a[me]=="보"):
        if a[num]=="가위":
            print("졌어요.")
            cnt -= 1
        elif a[num] == "바위":
            print("이겼어요")

    else:
        print("잘못된 값을 입력했어요.")

▶ 다른사람 문제풀이(딕셔너리 활용)

import random


#0 가위,이기는 규칙?  2 보  
#1 바위,이기는 규칙?  0 가위
#2 보  ,이기는 규칙?  1 바위

#rule은 내꺼:[이기는 번호,지는 번호] 로 이루어짐
rule ={ 0:[2,1] ,1:[0,2], 2:[1,0] }
name=["가위","바위","보"]

score =0

for i in range(3): 
    
    # user input 을 받는다.
    user = int(input(f"0:가위, 1:바위, 2:보 입력 ")  )  
    
    #com input random 으로 뽑느다.
    com = int(random.choice( [0,1,2]))
    
    print (f"나= {name[user]} vs 컴 = {name[com]}" )
    
    
    #이미 딕셔너리로 [0]에는 이기는거 [1]에는 지는거 써놨다.
    if rule[user][0] == com:
        score = score+1
        print (f"이겼다 !!!")
    
    elif rule[user][1] == com:
        print (f"졌다..")
    
    else:
        print (f"비겨따~")
        
    #한판 하고 점수표기
    print ("-------------")
    print (f"- 내점수: {score} -")
    print ("-------------\n\n")

print (f"끝!")

 

728x90
반응형