Python Canvas 中的随机数生成器

问题描述 投票:0回答:1

您好,我需要学校这个项目的帮助。一切正常,但当我在终端询问数字时,它总是打印出不是那个数字。

import tkinter
import random


canvas = tkinter.Canvas(width=800, height=400)
canvas.pack()

number = canvas.create_text(400, 200, text=random.randint(10000, 100000))

def prec():
    canvas.create_rectangle(400 - 50, 200 - 50, 400 + 50, 200 + 50, outline="white", fill="white")
canvas.after(2000, prec)

guess = input("What number was there?: ")
guess = int(guess)


if guess == number:
    canvas.create_text(400, 100, text="Correct", font="arial 20")
else:
    canvas.create_text(400, 100, text="Incorrect", font="arial 20")


canvas.mainloop()

每次我尝试时,它都会说“不正确”,但它是正确的。我不知道该怎么做才能让它工作,所以任何帮助将不胜感激

python canvas
1个回答
0
投票

变量

number
是一个画布对象。

number = canvas.create_text(400, 200, text=random.randint(10000, 100000))

它不会等于 int。

您想要的可能是先生成数字,然后在画布和值比较中使用它。

import tkinter
import random


canvas = tkinter.Canvas(width=800, height=400)
canvas.pack()

random_number = random.randint(10000, 100000)

number = canvas.create_text(400, 200, text=random_number)

def prec():
    canvas.create_rectangle(400 - 50, 200 - 50, 400 + 50, 200 + 50, outline="white", fill="white")
canvas.after(2000, prec)

guess = input("What number was there?: ")
guess = int(guess)


if guess == random_number :
    canvas.create_text(400, 100, text="Correct", font="arial 20")
else:
    canvas.create_text(400, 100, text="Incorrect", font="arial 20")

canvas.mainloop()

© www.soinside.com 2019 - 2024. All rights reserved.