Python 파이썬 거북이경주예제 질문입니다.
거북이경주 예제보고 따라했는데 경주 시작전에 누가 1등 예측하는 값을 받고 경기진행 후, 1등을 맞췄는지 틀렸는지 결과창 이렇게 추가하고싶어서 해보는데 잘 안됩니다. 어디를 수정해야하는지 알려주세요.
import turtle as t
import random
#경기장 그리기
t.speed(10)
t.penup()
t.goto(-300,250)
for step in range(10):
t.write(step,align='center')
t.right(90)
t.forward(10)
t.pendown()
for line in range(8):
t.forward(30)
t.penup()
t.forward(30)
t.pendown()
t.penup()
t.backward(490)
t.penup()
t.left(90)
t.forward(20)
tu1=t.Turtle()
tu1.color('red')
tu1.shape('turtle')
tu1.penup()
tu1.goto(-300,190)
tu1.pendown()
tu2=t.Turtle()
tu2.color('blue')
tu2.shape('turtle')
tu2.penup()
tu2.goto(-300,130)
tu2.pendown()
tu3=t.Turtle()
tu3.color('green')
tu3.shape('turtle')
tu3.penup()
tu3.goto(-300,70)
tu3.pendown()
#ratiobox생성
from tkinter import *
from tkinter import messagebox
root = Tk()
root.title("choice")
root.geometry("300x170")
root.resizable(False,False)
def your_choice():
yn = 'not selected'
global Radiovar #전역변수 선언
if Radiovar.get() == 1:
yn = "no.1 is selected"
elif Radiovar.get() == 2:
yn = "no.2 is selected"
elif Radiovar.get() == 3:
yn = "no.3 is selected"
lbl2.configure(text="your choice: "+yn)
messagebox.showinfo("your choice",yn)
lbl = Label(root, text="""Which turtle do you think will win?""")
lbl.pack()
yn = StringVar()
Radiovar = IntVar()
Radiovar = IntVar()
Radiovar = IntVar()
Radio_button1 = Radiobutton(text="no.1", variable = Radiovar, value=1)
Radio_button2 = Radiobutton(text="no.2", variable = Radiovar, value=2)
Radio_button3 = Radiobutton(text="no.3", variable = Radiovar, value=3)
Radio_button1.pack()
Radio_button2.pack()
Radio_button3.pack()
btn = Button(root, text="choice",command=your_choice,width=5,height=1)
btn.pack()
lbl2 = Label(root,text="your choice : ")
lbl2.pack()
root.mainloop()
#root.destroy
#root.protocol("WM_DELETE_WINDOW", lambda: messagebox.showinfo("종료 메시지", "종료합니다."))
#경주시작
for go in range(70):
sp1=tu1.forward(random.randint(1,8))
sp2=tu2.forward(random.randint(1,8))
sp3=tu3.forward(random.randint(1,8))
#결과창
window = Tk()
window.title("result")
window.geometry("300x170")
window.resizable(0,0)
corLab1 = Label(window, text="Correct");
faiLab1 = Label(window, text="fail");
if Radiovar==1:
if sp1>sp2 and sp1>sp3 :
corLab1.pack();
else:
faiLab1.pack();
elif Radiovar==2:
if sp2>sp1 and sp2>sp3 :
corLab1.pack();
else:
faiLab1.pack();
else:
if sp3>sp1 and sp3>sp2 :
corLab1.pack();
else:
faiLab1.pack();
댓글 달기