Python 我需要帮助来创建一个新的TKinter窗口,而不是扩展当前窗口
这是我想尝试做的一个数学挑战的代码,它可以问你想要的任何问题 但它会不断扩展窗口,而不是创建一个新窗口,这也不会更新scorestr 关于如何让它“溶解”当前画布,然后用新问题和更新的分数关闭并重新打开更新的画布,有什么帮助吗 另外,如果有人知道如何在这个60秒计时器,它会帮助我很多 图中显示了我遇到的问题 请注意 仅在将整数转换为字符串后参考加号部分,其他部分尚未更新,因为加号仍然不起作用Python 我需要帮助来创建一个新的TKinter窗口,而不是扩展当前窗口,python,tkinter,time,Python,Tkinter,Time,这是我想尝试做的一个数学挑战的代码,它可以问你想要的任何问题 但它会不断扩展窗口,而不是创建一个新窗口,这也不会更新scorestr 关于如何让它“溶解”当前画布,然后用新问题和更新的分数关闭并重新打开更新的画布,有什么帮助吗 另外,如果有人知道如何在这个60秒计时器,它会帮助我很多 图中显示了我遇到的问题 请注意 仅在将整数转换为字符串后参考加号部分,其他部分尚未更新,因为加号仍然不起作用 # generate random integer values from random import
# generate random integer values
from random import randint
import tkinter as tk
score = 0
scorestr = ""
root = tk.Tk()
def game():
for x in range(3):
def f():
global score
score += 1
for _ in range(1):
symbol = randint(0, 0)
# define symbol for equation
if symbol == 0:
maths = "plus"
value1 = randint(0, 100)
value2 = randint(0, 100)
if symbol == 1:
maths = "minus"
value1 = randint(0, 100)
value2 = randint(0, 100)
if symbol == 2:
maths = "times"
value1 = randint(0, 12)
value2 = randint(0, 12)
if symbol == 3:
maths = "divide"
value1 = randint(1, 12)
value2 = randint(1, 12)
# generate some integers
if value1 < value2:
temp = value1
value1 = value2
value2 = temp
temp == ""
value1Str = str(value1)
value2Str = str(value2)
if maths == "plus":
answer = value1 + value2
canvas1 = tk.Canvas(root, width=400, height=300)
canvas1.pack()
entry1 = tk.Entry(root)
canvas1.create_window(200, 140, window=entry1)
def clickme():
uanswer = entry1.get()
uanswerint = int(uanswer)
if uanswerint == answer:
label3 = tk.Label(root, text='Correct')
canvas1.create_window(200, 280, window=label3)
f()
scorestr = str(score)
else:
label3 = tk.Label(root, text='Incorrect')
canvas1.create_window(200, 280, window=label3)
root.after(1000, game)
label1 = tk.Label(root, text="Score: " + scorestr)
canvas1.create_window(200, 230, window=label1)
label2 = tk.Label(root, text='What is ' + value1Str + ' + ' + value2Str)
canvas1.create_window(200, 100, window=label2)
button1 = tk.Button(text='Check Answer!', command=clickme)
canvas1.create_window(200, 180, window=button1)
if maths == "minus":
answer = value1 - value2
canvas1 = tk.Canvas(root, width=400, height=300)
canvas1.pack()
entry1 = tk.Entry(root)
canvas1.create_window(200, 140, window=entry1)
def clickme():
uanswer = entry1.get()
uanswerint = int(uanswer)
if uanswerint == answer:
label3 = tk.Label(root, text='Correct')
canvas1.create_window(200, 280, window=label3)
else:
label3 = tk.Label(root, text='Incorrect')
canvas1.create_window(200, 280, window=label3)
quit()
label1 = tk.Label(root, text=answer)
canvas1.create_window(200, 230, window=label1)
label2 = tk.Label(root, text='What is ' + value1Str + ' - ' + value2Str)
canvas1.create_window(200, 100, window=label2)
button1 = tk.Button(text='Check Answer!', command=clickme)
canvas1.create_window(200, 180, window=button1)
if maths == "times":
answer = value1 * value2
canvas1 = tk.Canvas(root, width=400, height=300)
canvas1.pack()
entry1 = tk.Entry(root)
canvas1.create_window(200, 140, window=entry1)
def clickme():
uanswer = entry1.get()
uanswerint = int(uanswer)
if uanswerint == answer:
label3 = tk.Label(root, text='Correct')
canvas1.create_window(200, 280, window=label3)
else:
label3 = tk.Label(root, text='Incorrect')
canvas1.create_window(200, 280, window=label3)
quit()
label1 = tk.Label(root, text=answer)
canvas1.create_window(200, 230, window=label1)
label2 = tk.Label(root, text='What is ' + value1Str + ' * ' + value2Str)
canvas1.create_window(200, 100, window=label2)
button1 = tk.Button(text='Check Answer!', command=clickme)
canvas1.create_window(200, 180, window=button1)
if maths == "divide":
answer = value1 / value2
canvas1 = tk.Canvas(root, width=400, height=300)
canvas1.pack()
entry1 = tk.Entry(root)
canvas1.create_window(200, 140, window=entry1)
def clickme():
uanswer = entry1.get()
uanswerint = int(uanswer)
if uanswerint == answer:
label3 = tk.Label(root, text='Correct')
canvas1.create_window(200, 280, window=label3)
else:
label3 = tk.Label(root, text='Incorrect')
canvas1.create_window(200, 280, window=label3)
quit()
label1 = tk.Label(root, text=answer)
canvas1.create_window(200, 230, window=label1)
label2 = tk.Label(root, text='What is ' + value1Str + ' / ' + value2Str)
canvas1.create_window(200, 100, window=label2)
button1 = tk.Button(text='Check Answer!', command=clickme)
canvas1.create_window(200, 180, window=button1)
root.mainloop()
game()
print (score)
#生成随机整数值
从随机导入randint
将tkinter作为tk导入
分数=0
scorestr=“”
root=tk.tk()
def game():
对于范围(3)内的x:
def():
全球得分
分数+=1
对于范围(1)内的uu):
symbol=randint(0,0)
#定义方程式的符号
如果符号==0:
数学=“加”
value1=randint(01100)
value2=randint(01100)
如果符号==1:
数学=“负”
value1=randint(01100)
value2=randint(01100)
如果符号==2:
数学=“时代”
value1=randint(0,12)
value2=randint(0,12)
如果符号==3:
数学=“除法”
value1=randint(1,12)
value2=randint(1,12)
#生成一些整数
如果值1<值2:
温度=值1
值1=值2
值2=温度
温度=“”
value1Str=str(value1)
value2Str=str(value2)
如果数学==“加”:
回答=值1+值2
canvas1=tk.Canvas(根,宽=400,高=300)
画布1.pack()
entry1=tk.Entry(根)
canvas1.create_window(200140,window=entry1)
def clickme():
uanswer=entry1.get()
uanswerint=int(uanswer)
如果uanswerint==回答:
label3=tk.Label(根,text='Correct')
canvas1.创建窗口(200280,窗口=标签3)
f()
scorestr=str(分数)
其他:
label3=tk.Label(根,text='error')
canvas1.创建窗口(200280,窗口=标签3)
root.after(1000,游戏)
label1=tk.Label(root,text=“Score:”+scorestr)
canvas1.创建窗口(200230,窗口=标签1)
label2=tk.Label(根,text='What is'+value1Str++'+value2Str)
canvas1.创建窗口(200100,窗口=标签2)
button1=tk.Button(text='Check Answer!',command=clickme)
画布1.创建窗口(200、180,窗口=按钮1)
如果数学==“负”:
答案=值1-值2
canvas1=tk.Canvas(根,宽=400,高=300)
画布1.pack()
entry1=tk.Entry(根)
canvas1.create_window(200140,window=entry1)
def clickme():
uanswer=entry1.get()
uanswerint=int(uanswer)
如果uanswerint==回答:
label3=tk.Label(根,text='Correct')
canvas1.创建窗口(200280,窗口=标签3)
其他:
label3=tk.Label(根,text='error')
canvas1.创建窗口(200280,窗口=标签3)
退出
label1=tk.Label(根,文本=答案)
canvas1.创建窗口(200230,窗口=标签1)
label2=tk.Label(根,text='What is'+value1Str+'-'+value2Str)
canvas1.创建窗口(200100,窗口=标签2)
button1=tk.Button(text='Check Answer!',command=clickme)
画布1.创建窗口(200、180,窗口=按钮1)
如果数学==“次数”:
答案=值1*2
canvas1=tk.Canvas(根,宽=400,高=300)
画布1.pack()
entry1=tk.Entry(根)
canvas1.create_window(200140,window=entry1)
def clickme():
uanswer=entry1.get()
uanswerint=int(uanswer)
如果uanswerint==回答:
label3=tk.Label(根,text='Correct')
canvas1.创建窗口(200280,窗口=标签3)
其他:
label3=tk.Label(根,text='error')
canvas1.创建窗口(200280,窗口=标签3)
退出
label1=tk.Label(根,文本=答案)
canvas1.创建窗口(200230,窗口=标签1)
label2=tk.Label(根,text='What is'+value1Str+'*'+value2Str)
canvas1.创建窗口(200100,窗口=标签2)
button1=tk.Button(text='Check Answer!',command=clickme)
画布1.创建窗口(200、180,窗口=按钮1)
如果数学==“除法”:
答案=值1/2
canvas1=tk.Canvas(根,宽=400,高=300)
画布1.pack()
entry1=tk.Entry(根)
canvas1.create_window(200140,window=entry1)
def clickme():
uanswer=entry1.get()
uanswerint=int(uanswer)
如果uanswerint==回答:
label3=tk.Label(根,text='Correct')
canvas1.创建窗口(200280,窗口=标签3)
其他:
label3=tk.Label(根,text='error')
canvas1.创建窗口(200280,窗口=标签3)
退出
label1=tk.Label(根,文本=答案)
canvas1.创建窗口(200230,窗口=标签1)
label2=传统标签(根,