본문 바로가기
프로그램/Python 1000제

Python 202제] 파이썬 EXPRESS CHAPTER 9. 도전문제 p428

by 건티 2023. 7. 17.
728x90

출처 : 반크_반크 20년 백서

 

참고풀이]

#이 프로그램은 가위, 바위, 보 게임을 구현한다. 

import random
from tkinter import *

window = Tk()
Label(window, text="선택하세요", font=("Helvetica", "16")).pack()
frame = Frame(window)
frame1 = Frame(window)

#이미지를 본파일이 저장된 곳에 같이 있도록 하세요!
rock_image = PhotoImage(file="rock.png")
paper_image = PhotoImage(file="paper.png")
scissors_image = PhotoImage(file="scissors.png")

def pass_s():
    human_image["image"]=scissors_image
    decide("가위")

def pass_r():
    human_image["image"]=rock_image
    decide("바위")

def pass_p():
    human_image["image"]=paper_image
    decide("보")

def decide(human):
    computer = random.choice(["가위", "바위", "보"])
    if   computer == "바위":
        computer_image["image"] = rock_image
    elif   computer == "보":
        computer_image["image"] = paper_image
    else:
        computer_image["image"] = scissors_image

    if(computer == "바위" and human == "보") or 

      (computer == "보" and human == "가위") or
      (computer == "가위" and human == "바위"):
        result = "인간 승리!"
    elif   computer == human:
        result = "비겼습니다."
    else:
        result = "컴퓨터 승리!"
    output.config(text="인간 : " + human + ",   컴퓨터 :" + computer + "    " + result)


#MainPart
rock = Button(frame, image=rock_image, command=pass_r)
rock.pack(side="left")
paper = Button(frame, image=paper_image, command=pass_p)
paper.pack(side="left")
scissors = Button(frame, image=scissors_image, command=pass_s)
scissors.pack(side="left")
frame.pack()

output = Label(window, text="가위 바위 보 결과입니다.", font=("Helvetica", "20"))
output.pack(padx=10)

human_image = Label(window, image=rock_image)
human_image.pack(side="left",padx=10)
Label(window, text="  :  ", font=("Helvetica", "72")).pack(side="left")
computer_image = Label(window, image=rock_image)
computer_image.pack(side="right",padx=10)

window.mainloop()

 

참고풀이 결과]

초기화면)

 

 

 

 

 

대한민국의 아름다운 영토, 독도의 가을

 

반응형

댓글