- 我想在赛前调查一下谁会赢。你知道吗
- 弹出框不会关闭,下一个代码也不会运行。你知道吗
- 结果窗口甚至不起作用。你知道吗
import turtle as t
import random
from tkinter import *
from tkinter import messagebox
import os
root = Tk()
root.title("choice")
root.geometry("300x170")
root.resizable(0,0)
window = Tk()
window.title("result")
window.geometry("300x170")
window.resizable(0,0)
def quit():
global root
root.exit()
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()
def your_choice():
yn = 'not selected'
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?""", font="NanumGothic 10")
lbl.pack()
yn = StringVar()
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)
btn = Button(root, text="choice",command=your_choice,width=5,height=1)
lbl2 = Label(root,text="your choice : ")
Radio_button1.pack()
Radio_button2.pack()
Radio_button3.pack()
btn.pack()
lbl2.pack()
root.mainloop()
root.quit()
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))
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();
Tags:
你的程序是“魔法思维”的结果,不可能工作。例如:当您应该使用嵌入式turtle时,您正在使用独立turtle;您调用
root.mainloop()
在初始化代码中间将控制权移交给Tk事件循环;import os
在这里没有业务;您创建了两个Tk根!;你在用户有机会挑选海龟之前就开始了比赛;你已经在每个地方对三只海龟进行了硬编码,尽管你的赛道是为更多的海龟而设计的。你知道吗下面是我对您的代码进行的完全修改,以使其基本上能够运行:
然而,它仍然需要努力。(例如,无需重新启动程序即可运行新的比赛。)
相关问题 更多 >
编程相关推荐