【发布时间】:2026-02-17 10:55:02
【问题描述】:
我目前正在为我的学校项目制作一个刽子手游戏,但遇到了障碍。我正在尝试测试我的代码,如果您在 GUI 上按下的字符正确,是否可以在控制台中输出 yay,如果不是,则输出 boo。我试过了,除了和 if else,if else 说“文本”没有定义。 (对不起,有按钮的块,我很快就会清理它!!!) 代码如下:
#Hangman
from tkinter import *
import random
root = Tk()
word_list = ["APPLE", "PEAR", "BANNANA"]
word = word_list [random.randrange(0,2)]
#Functions
def click_1 ():
if text in word == true:
print ("yay")
else:
print ("Boo")
#Frames
hangman_frame = Frame(root).grid(row=0, column=0)
letter_frame = Frame(root).grid(row=1, column=0)
#Buttons
A = Button(letter_frame, text="A", command=click_1).grid(row=0, column=0, sticky=W)
B = Button(letter_frame, text="B", command=click_1).grid(row=0, column=1, sticky=W)
C = Button(letter_frame, text="C", command=click_1).grid(row=0, column=2, sticky=W)
D = Button(letter_frame, text="D", command=click_1).grid(row=0, column=3, sticky=W)
E = Button(letter_frame, text="E", command=click_1).grid(row=0, column=4, sticky=W)
F = Button(letter_frame, text="F", command=click_1).grid(row=0, column=5, sticky=W)
G = Button(letter_frame, text="G", command=click_1).grid(row=0, column=6, sticky=W)
H = Button(letter_frame, text="H", command=click_1).grid(row=0, column=7, sticky=W)
I = Button(letter_frame, text="I", command=click_1).grid(row=0, column=8, sticky=W)
J = Button(letter_frame, text="J", command=click_1).grid(row=0, column=9, sticky=W)
K = Button(letter_frame, text="K", command=click_1).grid(row=0, column=10, sticky=W)
L = Button(letter_frame, text="L", command=click_1).grid(row=0, column=11, sticky=W)
M = Button(letter_frame, text="M", command=click_1).grid(row=0, column=12, sticky=W)
N = Button(letter_frame, text="N", command=click_1).grid(row=1, column=0, sticky=W)
O = Button(letter_frame, text="O", command=click_1).grid(row=1, column=1, sticky=W)
P = Button(letter_frame, text="P", command=click_1).grid(row=1, column=2, sticky=W)
Q = Button(letter_frame, text="Q", command=click_1).grid(row=1, column=3, sticky=W)
R = Button(letter_frame, text="R", command=click_1).grid(row=1, column=4, sticky=W)
S = Button(letter_frame, text="S", command=click_1).grid(row=1, column=5, sticky=W)
T = Button(letter_frame, text="T", command=click_1).grid(row=1, column=6, sticky=W)
U = Button(letter_frame, text="U", command=click_1).grid(row=1, column=7, sticky=W)
V = Button(letter_frame, text="V", command=click_1).grid(row=1, column=8, sticky=W)
W = Button(letter_frame, text="W", command=click_1).grid(row=1, column=9, sticky=W)
X = Button(letter_frame, text="X", command=click_1).grid(row=1, column=10, sticky=W)
Y = Button(letter_frame, text="Y", command=click_1).grid(row=1, column=11, sticky=W)
Z = Button(letter_frame, text="Z", command=click_1).grid(row=1, column=12, sticky=W)
【问题讨论】:
-
我不知道这段代码应该做什么。我运行它,没有任何反应。除了我必须大写 Tkinter 之外,没有看到任何错误。
-
@Fred S 它会打开一个包含所有按钮的 gui,当您单击一个按钮时,我希望它在其中一个单词中说 yay(pear bannana 等),如果不是则嘘.
-
好的。现在我明白了。问题是您没有从按钮获取文本作为“文本”。您必须将文本传递给函数。我会尽力回答。
-
好的建议。当您刚开始学习一门语言时,请先尝试基于基本命令行的简单程序。如果你像这样跳入 GUI 编程,会有很多信息和概念抛给你。
-
我最近刚刚从 python 中休息并学习了 c#,所以不,谢谢。谢谢你这么好。 10/10 会推荐。 @kartikg3
标签: python user-interface if-statement tkinter try-except