출처 : 반크_독도2023
참고풀이]
from tkinter import *
import random
result = ""
human = ""
computer = ""
def pass_r():
who_winner("바위")
def pass_s():
who_winner("가위")
def pass_p():
who_winner("보")
def computer_game():
global computer
computer = random.choice(["가위", "바위", "보"])
if computer == "바위":
computer_image["image"] = rock_image
elif computer == "가위":
computer_image["image"] = scissors_image
else:
computer_image["image"] = paper_image
def who_winner(human):
global computer
#컴퓨터의 이미지를 저장한다.
computer_game()
#게이머가 지정한 이미지를 저장한다.
if human == "바위":
human_image["image"] = rock_image
elif human == "가위":
human_image["image"] = scissors_image
else:
human_image["image"] = paper_image
#게이머와 컴퓨터의 승자를 체크한다.
if computer == human:
result="비겼습니다."
elif (computer == "바위" and human == "보") or (computer == "가위" and human == "바위") or (
computer == "보" and human == "가위"):
result="인간이 이겼습니다."
elif (computer == "보" and human == "바위") or (computer == "바위" and human == "가위") or (
computer == "가위" and human == "보"):
result="컴퓨터가 이겼습니다."
#결과를 레이블에 출력한다.
winner.config(text="인간:" + human + ", 컴퓨터:" + computer + " ==> " + result)
#Main Part
window = Tk()
Label(window, text="선택하세요",font=("Helvetica","20")).pack()
frame = Frame(window,pady=10)
rock_image = PhotoImage(file="rock.png")
scissors_image = PhotoImage(file="scissors.png")
paper_image = PhotoImage(file="paper.png")
#게이머가 선택하는 부분
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()
#컴퓨터와 게이머가 선택한 결과 부분
f2=Frame(window,pady=10)
human_image = Label(f2, image=rock_image)
human_image.pack(side="left" )
computer_image = Label(f2, image=rock_image)
computer_image.pack(side="right")
f2.pack()
#게이머와 컴퓨터의 승부여부 부분
winner = Label(window, text=" "*70, font=("Helvetica","24",), bg="yellow")
winner.pack()
window.mainloop()
참고풀이 결과]
시작화면)
컴퓨터가 이겼을 때)
비겼을 때)
게이머가 이겼을 때)
참고]
문제96) 두근두근 파이썬 10장 연습문제6 p313
이미지]
대한민국의 아름다운 영토, 독도의 봄
'프로그램 > Python 1000제' 카테고리의 다른 글
Python 281제] 파이썬 EXPRESS CHAPTER 9. 도전문제 p439 (0) | 2024.05.22 |
---|---|
Python 280제] 파이썬 EXPRESS CHAPTER 9. 도전문제 p433 (0) | 2024.05.22 |
Python 278제] 파이썬 EXPRESS CHAPTER 9. 도전문제 p431 (0) | 2024.05.20 |
Python 277제] 2012년 한국정보올림피아드 지역본선 초등부 1번 오븐 시계 (0) | 2024.05.15 |
Python 276제] 2013년 한국정보올림피아드 지역본선 초등부 1번 그릇 (0) | 2024.05.10 |
댓글