Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 提交按钮在刽子手游戏中不起作用(Python)_Python 3.x_Tkinter - Fatal编程技术网

Python 3.x 提交按钮在刽子手游戏中不起作用(Python)

Python 3.x 提交按钮在刽子手游戏中不起作用(Python),python-3.x,tkinter,Python 3.x,Tkinter,单击提交按钮时,我无法获得所需的输出。它必须显示一个图像和一个标签来显示他是否获胜,但这似乎不起作用 代码如下: def submit(): ans.sort() answer.sort() if ans == answer: root2.destroy() root3.destroy() root4.destroy() label2.destroy() label3.destroy()

单击提交按钮时,我无法获得所需的输出。它必须显示一个图像和一个标签来显示他是否获胜,但这似乎不起作用 代码如下:

def submit():
    ans.sort()
    answer.sort()
    if ans == answer:
        root2.destroy()
        root3.destroy()
        root4.destroy()
        label2.destroy()
        label3.destroy()
        load=Image.open('win.png')
        render=ImageTk.PhotoImage(load)
        img=Label(image=render)
        img.image=render
        img.grid(row=0,column=15)
        label4=Label(text="CONGRATULATIONS YOU WIN",font="Times 18")
        label4.grid(row=10,column=15,pady=20) 
btn30 = Button(root4, text="SUBMIT",bg="Cyan", fg="Black",width=8,height=1,font=('Helvetica','20'),command=lambda:submit)
btn30.grid(column=11, row=18,pady=5)
用于提交的按钮功能如下:

def submit():
    ans.sort()
    answer.sort()
    if ans == answer:
        root2.destroy()
        root3.destroy()
        root4.destroy()
        label2.destroy()
        label3.destroy()
        load=Image.open('win.png')
        render=ImageTk.PhotoImage(load)
        img=Label(image=render)
        img.image=render
        img.grid(row=0,column=15)
        label4=Label(text="CONGRATULATIONS YOU WIN",font="Times 18")
        label4.grid(row=10,column=15,pady=20) 
btn30 = Button(root4, text="SUBMIT",bg="Cyan", fg="Black",width=8,height=1,font=('Helvetica','20'),command=lambda:submit)
btn30.grid(column=11, row=18,pady=5)
该程序的全部代码为:

from tkinter import*
import random
from PIL import ImageTk, Image
from collections import Counter

def emptyblocks(word):
    global n
    global root2
    root2 = Frame(window, relief=RIDGE)
    root2.grid(row = 5 , column = 1)
    n=len(word)
    i=0
    global button
    button = []
    for j in range(n):
        btni = Button(root2, text=" ",bg="White", fg="Black",width=3,height=1,font=('Helvetica','20'))
        btni.grid(column=i+3, row=4, pady=40)
        button.append(btni)
        i=i+1

    global root3
    root3 = Frame(window, relief=RIDGE)
    root3.grid(row = 8 , column = 1 )

    global root4
    root4 = Frame(window, relief=RIDGE)
    root4.grid(column=11,row=18)

    btn01 = Button(root3, text="Q",bg="skyBlue", fg="Black",width=3,height=1,font=('Helvetica','20'),command=lambda: clicked("Q"))
    btn01.grid(column=3, row=8,padx=2, pady=2)
    btn02 = Button(root3, text="W",bg="skyBlue", fg="Black",width=3,height=1,font=('Helvetica','20'),command=lambda: clicked("W"))
    btn02.grid(column=4, row=8,padx=2, pady=2)
    btn03 = Button(root3, text="E",bg="skyBlue", fg="Black",width=3,height=1,font=('Helvetica','20'),command=lambda: clicked("E"))
    btn03.grid(column = 5, row=8,padx=2, pady=2)
    btn04 = Button(root3, text="R",bg="skyBlue", fg="Black",width=3,height=1,font=('Helvetica','20'),command=lambda: clicked("R"))
    btn04.grid(column=6, row=8,padx=2, pady=2)
    btn05 = Button(root3, text="T",bg="skyBlue", fg="Black",width=3,height=1,font=('Helvetica','20'),command=lambda: clicked("T"))
    btn05.grid(column=7, row=8,padx=2, pady=2)
    btn06 = Button(root3, text="Y",bg="skyBlue", fg="Black",width=3,height=1,font=('Helvetica','20'),command=lambda: clicked("Y"))
    btn06.grid(column=8, row=8,padx=2, pady=2)
    btn07 = Button(root3, text="U",bg="skyBlue", fg="Black",width=3,height=1,font=('Helvetica','20'),command=lambda: clicked("U"))
    btn07.grid(column=9, row=8,padx=2, pady=2)
    btn08 = Button(root3, text="I",bg="skyBlue", fg="Black",width=3,height=1,font=('Helvetica','20'),command=lambda: clicked("I"))
    btn08.grid(column=10, row=8,padx=2, pady=2)
    btn09 = Button(root3, text="O",bg="skyBlue", fg="Black",width=3,height=1,font=('Helvetica','20'),command=lambda: clicked("O"))
    btn09.grid(column=11, row=8,padx=2, pady=2)
    btn10 = Button(root3, text="P",bg="skyBlue", fg="Black",width=3,height=1,font=('Helvetica','20'),command=lambda: clicked("P"))
    btn10.grid(column=12,row=8,padx=2, pady=2)

    btn11= Button(root3, text="A",bg="skyBlue", fg="Black",width=3,height=1,font=('Helvetica','20'),command=lambda: clicked("A"))
    btn11.grid(column=4, row=9,padx=2, pady=2)
    btn12 = Button(root3, text="S",bg="skyBlue", fg="Black",width=3,height=1,font=('Helvetica','20'),command=lambda: clicked("S"))
    btn12.grid(column=5, row=9,padx=2, pady=2)
    btn13 = Button(root3, text="D",bg="skyBlue", fg="Black",width=3,height=1,font=('Helvetica','20'),command=lambda: clicked("D"))
    btn13.grid(column=6, row=9,padx=2, pady=2)
    btn14 = Button(root3, text="F",bg="skyBlue", fg="Black",width=3,height=1,font=('Helvetica','20'),command=lambda: clicked("F"))
    btn14.grid(column=7, row=9,padx=2, pady=2)
    btn15= Button(root3, text="G",bg="skyBlue", fg="Black",width=3,height=1,font=('Helvetica','20'),command=lambda: clicked("G"))
    btn15.grid(column=8, row=9,padx=2, pady=2)
    btn16 = Button(root3, text="H",bg="skyBlue", fg="Black",width=3,height=1,font=('Helvetica','20'),command=lambda: clicked("H"))
    btn16.grid(column=9, row=9,padx=2, pady=2)
    btn17 = Button(root3, text="J",bg="skyBlue", fg="Black",width=3,height=1,font=('Helvetica','20'),command=lambda: clicked("J"))
    btn17.grid(column=10, row=9,padx=2, pady=2)
    btn18 = Button(root3, text="K",bg="skyBlue", fg="Black",width=3,height=1,font=('Helvetica','20'),command=lambda: clicked("K"))
    btn18.grid(column=11, row=9,padx=2, pady=2)
    btn19 = Button(root3, text="L",bg="skyBlue", fg="Black",width=3,height=1,font=('Helvetica','20'),command=lambda: clicked("L"))
    btn19.grid(column=12, row=9,padx=2, pady=2)

    btn20 = Button(root3, text="Z",bg="skyBlue", fg="Black",width=3,height=1,font=('Helvetica','20'),command=lambda: clicked("Z"))
    btn20.grid(column=5, row=10,padx=2, pady=2)
    btn21 = Button(root3, text="X",bg="skyBlue", fg="Black",width=3,height=1,font=('Helvetica','20'),command=lambda: clicked("X"))
    btn21.grid(column=6, row=10,padx=2, pady=2)
    btn22 = Button(root3, text="C",bg="skyBlue", fg="Black",width=3,height=1,font=('Helvetica','20'),command=lambda: clicked("C"))
    btn22.grid(column=7, row=10,padx=2, pady=2)
    btn23 = Button(root3, text="V",bg="skyBlue", fg="Black",width=3,height=1,font=('Helvetica','20'),command=lambda: clicked("V"))
    btn23.grid(column=8, row=10,padx=2, pady=2)
    btn24 = Button(root3, text="B",bg="skyBlue", fg="Black",width=3,height=1,font=('Helvetica','20'),command=lambda: clicked("B"))
    btn24.grid(column=9, row=10,padx=2, pady=2)
    btn25 = Button(root3, text="N",bg="skyBlue", fg="Black",width=3,height=1,font=('Helvetica','20'),command=lambda: clicked("N"))
    btn25.grid(column=10, row=10,padx=2, pady=2)
    btn26 = Button(root3, text="M",bg="skyBlue", fg="Black",width=3,height=1,font=('Helvetica','20'),command=lambda: clicked("M"))
    btn26.grid(column=11, row=10,padx=2, pady=2)

    btn30 = Button(root4, text="SUBMIT",bg="Cyan", fg="Black",width=8,height=1,font=('Helvetica','20'),command=lambda:submit)
    btn30.grid(column=11, row=18,pady=5)

    global label3
    if word == 'CLOCK':
        label3=Label(text="HINT: IT HAS A FACE AND TWO HANDS\n BUT NO  ARMS OR LEGS",font="Times 18")
        label3.grid(row=2,column=0)
    elif word =='BOTTLE':
        label3=Label(text="HINT: IT HAS A NECK BUT NO HEAD",font="Times 18")
        label3.grid(row=2,column=0)
    elif word == 'TOWEL':
        label3=Label(text="HINT: IT GETS WETTER AS IT DRIES",font="Times 18")
        label3.grid(row=2,column=0)
    elif word == 'ELEVEN':
        label3=Label(text="HINT: HOW MANY LETTERS ARE THERE IN ALPHABET?",font="Times 18")
        label3.grid(row=2,column=0)
    elif word == 'AGE':
        label3=Label(text="HINT: IT GOES UP BUT NEVER DOWN",font="Times 18")
        label3.grid(row=2,column=0)
    elif word == 'TABLE':
        label3=Label(text="HINT: IT HAS 4 LEGS BUT CAN'T WALK ",font="Times 18")
        label3.grid(row=2,column=0)
    elif word == 'WINDOW':
        label3=Label(text="HINT: THIS INVENTION LETS YOU LOOK\n RIGHT THROUGH THE WALL",font="Times 18")
        label3.grid(row=2,column=0)
    elif word == 'EGG':
        label3=Label(text="HINT: IT HAS TO BE BROKEN BEFORE YOU USE IT",font="Times 18")
        label3.grid(row=2,column=0)
    elif word == 'SPIDER':
        label3=Label(text="HINT: IT BUILD ITS HOUSE WITH EARTHEN STRING\n AND ENSNARES ITS PREY WITH A BITTING STING",font="Times 18")
        label3.grid(row=2,column=0)
    elif word == 'D':
        label3=Label(text="HINT: COMPLETE THE SEQUENCE\n  JFMAMJJASON_",font="Times 18")
        label3.grid(row=2,column=0)
    elif word == 'NEEDLE':
        label3=Label(text="HINT: IT HAS ONE EYE BUT CANNOT SEE",font="Times 18")
        label3.grid(row=2,column=0)
    elif word == 'RELATIONSHIP':
        label3=Label(text="HINT: IT IS A SHIP WHICH HAS TWO MATES,\n BUT NO CAPTAIN",font="Times 18")
        label3.grid(row=2,column=0)
    elif word == 'ENVELOPE':
        label3=Label(text="HINT: IT BEGINS WITH 'E' AND ENDS WITH 'E'\n BUT ONLY HAS ONE LETTER",font="Times 18")
        label3.grid(row=2,column=0)
    elif word == 'EDWIN':
        label3=Label(text="HINT: SECOND MAN TO STEP ON MOON",font="Times 18")
        label3.grid(row=2,column=0)
    elif word == 'DEATH':
        label3=Label(text="HINT: SOME TRY TO HIDE,\n SOME TRY TO CHEAT BUT TIME WILL SHOW,\n WE ALWAYS WILL MEET.\n TRY AS YO MIGHT TO  GUESS MY NAME ",font="Times 18")
        label3.grid(row=2,column=0)
    elif word =='SUN':
        label3=Label(text="HINT: NEVER RESTING, NEVER STILL, MOVING SILENTLY\n FROM HILL TO HILL,\n IT DOES NOT WALK, RUN OR TROT,\n ALL IS COOL WHERE IT IS NOT ",font="Times 18")
        label3.grid(row=2,column=0)

    window.mainloop()

def difficulty():
    global root1
    root1 = Frame(window, relief=RIDGE)
    root1.grid(row=4,column=6)
    global label1
    label1=Label(text="SELECT A DIFFICULTY LEVEL",pady = 30,font = "Times 20")
    label1.grid(row=2,column=0,sticky=W)
    btn27 = Button(root1, text="EASY",bg="YELLOW", fg="Black",width=8,height=1,bd=10,font=('Helvetica','20'),command=EASY )
    btn27.grid(row=4 , column=1,pady=20)
    btn28 = Button(root1, text="MEDIUM",bg="Green", fg="Black",width=8,height=1,bd=10,font=('Helvetica','20'),command=MEDIUM)
    btn28.grid(row=8 , column=1,pady=20)
    btn29 = Button(root1, text="HARD",bg="RED", fg="Black",width=8,height=1,bd=10,font=('Helvetica','20'),command=HARD)
    btn29.grid(row=12 , column=1,pady=20)

def EASY():
    global chances
    chances=8
    global words
    words=random.choice(easy)
    root1.destroy()
    label1.destroy()
    global label2
    label2=Label(text="TOTAL CHANCES : 8",font="Times 18")
    label2.grid(row=14,column=0,pady=15)
    emptyblocks(words)


def MEDIUM():
    global chances
    chances=10
    global words
    words=random.choice(med)
    root1.destroy()
    label1.destroy()
    global label2
    label2=Label(text="TOTAL CHANCES : 10",font="Times 18")
    label2.grid(row=14,column=0,pady=15)
    emptyblocks(words)

def HARD():
    global chances
    chances=15
    global words
    words=random.choice(hard)
    root1.destroy()
    label1.destroy()
    global label2
    label2=Label(text="TOTAL CHANCES : 15",font="Times 18")
    label2.grid(row=14,column=0,pady=15)
    emptyblocks(words)

def clicked(alphabet):
    global chances
    global img
    global label4
    global label5
    global answer
    global ans
    ans=[]
    answer = []
    for i in range(n):
        c=ord(words[i])
        ans.insert(i,c)    
    j=0
    while j<n:
        if words[j] == alphabet:
            button[j]["text"] = alphabet
            d=ord(alphabet)
            answer.insert(j,d)
        j=j+1      
    else:
        chances=chances-1
        txt="CHANCES REMAINING: "+str(chances);
        label2.configure(text=txt)

    if chances<0:
        root2.destroy()
        root3.destroy()
        root4.destroy()
        label2.destroy()
        label3.destroy()
        load=Image.open('hangman1.png')
        render=ImageTk.PhotoImage(load)
        img=Label(image=render)
        img.image=render
        img.grid(row=0,column=15)
        label4=Label(text="YOU LOOSE GET READY TO HANG",font="Times 18")
        label4.grid(row=10,column=15,pady=20)




def submit():
    ans.sort()
    answer.sort()
    if ans == answer:
        root2.destroy()
        root3.destroy()
        root4.destroy()
        label2.destroy()
        label3.destroy()
        load=Image.open('win.png')
        render=ImageTk.PhotoImage(load)
        img=Label(image=render)
        img.image=render
        img.grid(row=0,column=15)
        label4=Label(text="CONGRATULATIONS YOU WIN",font="Times 18")
        label4.grid(row=10,column=15,pady=20)







window = Tk()
window.title("HANGMAN GAME")
window.geometry("3000x1000")
easy=['CLOCK','BOTTLE','TOWEL','ELEVEN','AGE','WINDOW','TABLE']
med=['EGG','SPIDER','D','NEEDLE']
hard=['RELATIONSHIP','ENVELOPE','EDWIN','DEATH','SUN']
difficulty()    
从tkinter导入*
随机输入
从PIL导入ImageTk,图像
从收款进口柜台
def清空块(word):
全球n
全局根2
根2=框架(窗,浮雕=脊)
root2.grid(行=5,列=1)
n=len(字)
i=0
全局按钮
按钮=[]
对于范围(n)内的j:
btni=按钮(root2,text=,bg=“白色”,fg=“黑色”,宽度=3,高度=1,字体=('Helvetica','20'))
btni.网格(列=i+3,行=4,pady=40)
追加按钮(btni)
i=i+1
全球根3
根3=框架(窗,浮雕=脊)
root3.grid(行=8,列=1)
全球根4
根4=框架(窗,浮雕=脊)
root4.grid(列=11,行=18)
btn01=按钮(root3,text=“Q”,bg=“skyBlue”,fg=“Black”,width=3,height=1,font=('Helvetica','20'),command=lambda:clicked(“Q”))
btn01.网格(列=3,行=8,padx=2,pady=2)
btn02=按钮(root3,text=“W”,bg=“skyBlue”,fg=“Black”,width=3,height=1,font=('Helvetica','20'),command=lambda:clicked(“W”))
btn02.网格(列=4,行=8,padx=2,pady=2)
btn03=按钮(root3,text=“E”,bg=“skyBlue”,fg=“Black”,width=3,height=1,font=('Helvetica','20'),command=lambda:clicked(“E”))
btn03.网格(列=5,行=8,padx=2,pady=2)
btn04=按钮(root3,text=“R”,bg=“skyBlue”,fg=“Black”,width=3,height=1,font=('Helvetica','20'),command=lambda:clicked(“R”))
btn04.网格(列=6,行=8,padx=2,pady=2)
btn05=按钮(root3,text=“T”,bg=“skyBlue”,fg=“Black”,width=3,height=1,font=('Helvetica','20'),command=lambda:clicked(“T”))
btn05.网格(列=7,行=8,padx=2,pady=2)
btn06=按钮(root3,text=“Y”,bg=“skyBlue”,fg=“Black”,width=3,height=1,font=('Helvetica','20'),command=lambda:clicked(“Y”))
btn06.网格(列=8,行=8,padx=2,pady=2)
btn07=按钮(root3,text=“U”,bg=“skyBlue”,fg=“Black”,width=3,height=1,font=('Helvetica','20'),command=lambda:clicked(“U”))
btn07.网格(列=9,行=8,padx=2,pady=2)
btn08=按钮(root3,text=“I”,bg=“skyBlue”,fg=“Black”,width=3,height=1,font=('Helvetica','20'),command=lambda:clicked(“I”))
btn08.网格(列=10,行=8,padx=2,pady=2)
btn09=按钮(root3,text=“O”,bg=“skyBlue”,fg=“Black”,width=3,height=1,font=('Helvetica','20'),command=lambda:clicked(“O”))
btn09.网格(列=11,行=8,padx=2,pady=2)
btn10=按钮(root3,text=“P”,bg=“skyBlue”,fg=“Black”,width=3,height=1,font=('Helvetica','20'),command=lambda:clicked(“P”))
btn10.网格(列=12,行=8,padx=2,pady=2)
btn11=按钮(root3,text=“A”,bg=“skyBlue”,fg=“Black”,width=3,height=1,font=('Helvetica','20'),command=lambda:clicked(“A”))
btn11.网格(列=4,行=9,padx=2,pady=2)
btn12=按钮(root3,text=“S”,bg=“skyBlue”,fg=“Black”,width=3,height=1,font=('Helvetica','20'),command=lambda:clicked(“S”))
btn12.网格(列=5,行=9,padx=2,pady=2)
btn13=按钮(root3,text=“D”,bg=“skyBlue”,fg=“Black”,width=3,height=1,font=('Helvetica','20'),command=lambda:clicked(“D”))
btn13.网格(列=6,行=9,padx=2,pady=2)
btn14=按钮(root3,text=“F”,bg=“skyBlue”,fg=“Black”,width=3,height=1,font=('Helvetica','20'),command=lambda:clicked(“F”))
btn14.网格(列=7,行=9,padx=2,pady=2)
btn15=按钮(root3,text=“G”,bg=“skyBlue”,fg=“Black”,width=3,height=1,font=('Helvetica','20'),command=lambda:clicked(“G”))
btn15.网格(列=8,行=9,padx=2,pady=2)
btn16=按钮(root3,text=“H”,bg=“skyBlue”,fg=“Black”,width=3,height=1,font=('Helvetica','20'),command=lambda:clicked(“H”))
btn16.网格(列=9,行=9,padx=2,pady=2)
btn17=按钮(root3,text=“J”,bg=“skyBlue”,fg=“Black”,width=3,height=1,font=('Helvetica','20'),command=lambda:clicked(“J”))
btn17.网格(列=10,行=9,padx=2,pady=2)
btn18=按钮(root3,text=“K”,bg=“skyBlue”,fg=“Black”,width=3,height=1,font=('Helvetica','20'),command=lambda:clicked(“K”))
btn18.网格(列=11,行=9,padx=2,pady=2)
btn19=按钮(root3,text=“L”,bg=“skyBlue”,fg=“Black”,width=3,height=1,font=('Helvetica','20'),command=lambda:clicked(“L”))
btn19.网格(列=12,行=9,padx=2,pady=2)
btn20=按钮(root3,text=“Z”,bg=“skyBlue”,fg=“Black”,width=3,height=1,font=('Helvetica','20'),command=lambda:clicked(“Z”))
btn20.网格(列=5,行=10,padx=2,pady=2)
btn21=按钮(root3,text=“X”,bg=“skyBlue”,fg=“Black”,width=3,height=1,font=('Helvetica','20'),command=lambda:clicked(“X”))
btn21.网格(列=6,行=10,padx=2,pady=2)
btn22=按钮(root3,text=“C”,bg=“skyBlue”,fg=“Black”,width=3,height=1,font=('Helvetica','20'),command=lambda:clicked(“C”))
btn22.网格(列=7,行=10,padx=2,pady=2)
btn23=按钮(root3,text=“V”,bg=“skyBlue”,fg=“Black”,width=3,height=1,font=('Helvetica','20'),command=lambda:clicked(“V”))
btn23.网格(列=8,行=10,padx=2,pady=2)
btn24=按钮(root3,text=“B”,bg=“skyBlue”,fg=“Black”,width=3,height=1,font=('Helvetica','20'),command=lambda:clicked(“B”))
btn24.网格(列=9,行=10,padx=2,pady=2)
btn25=按钮(root3,text=“N”,bg=“skyBlue”,fg=“Black”,width=3,height=1,font=('Helvetica','20'),command=lambda:clicked(“N”))
btn25.网格(列=10,行=10,padx=2,pady=2)
btn26=按钮(root3,text=“M”,bg=“skyBlue”,fg=“Black”,width=3,height=1,font=('Helvetica','20'),command=lambda:clicked(“M”))
btn26.网格(列=11,行=10,padx=2,pady=2)
btn30=按钮(root4,text=“SUBMIT”,bg=“Cyan”,fg=“Black”,宽度=8,高度=1,字体=('Helvetica','20'),命令=lambda:SUBMIT)
btn30.网格(列=11,行=18,pady=5)
全局标签3
如果word==“时钟”:
label3=Label(text=“提示:它有一张脸和两只手\n但没有胳膊或腿”,font=“Times 18”)