如何解决如何将多个if语句放入Tkinter按钮
(已编辑)
我试图将我的if语句放入消息框功能,并让按钮打印出带有数字和相应播放器的消息。我已经尝试了所有可以想到的方法,但仍然无法正常工作,目前它会打印出一个随机数,但是我当然也希望它也可以打印出玩家的名字,任何帮助将不胜感激:)
import tkinter as tk
from tkinter import *
from tkinter import messagebox
import random
no_1 = "De Gea"
no_2 = "Lindelof"
no_3 = "Bailly"
no_5 = "Maguire"
no_6 = "Pogba"
no_7 = "Sancho"
no_8 = "Mata"
no_9 = "Martial"
no_10 = "Rashford"
no_12 = "Smalling"
no_13 = "Grant"
no_14 = "Lingard"
no_15 = "Pereira"
no_16 = "Rojo"
no_17 = "Fred"
no_18 = "Bruno"
def united_players():
number = random.randint(1,20)
print(number)
if number == 18:
print(no_18)
elif number == 17:
print(no_17)
elif number == 16:
print(no_16)
elif number == 15:
print(no_15)
elif number == 14:
print(no_14)
elif number == 13:
print(no_13)
elif number == 12:
print(no_12)
elif number == 10:
print(no_10)
elif number == 9:
print(no_9)
elif number == 8:
print(no_8)
elif number == 7:
print(no_7)
elif number == 6:
print(no_6)
elif number == 5:
print(no_5)
elif number == 3:
print(no_3)
elif number == 2:
print(no_2)
elif number == 1:
print(no_1)
else:
print("Player not found")
def generate_number():
messagebox.showinfo("You got this player!",random.randint(1,20))
root = tk.Tk()
canvas = tk.Canvas(root,height=600,width=600,bg="#e53242")
canvas.pack()
label1 = tk.Label(root,text="Click for a random player",bg="#e53242",fg="#323648")
label1.config(font=("",24))
label1.place(relx=0.22,rely=0.1)
button1 = tk.Button(root,height=12,width=30,text="Random \n Man United player",command=generate_number,bg="#ef7a85",activebackground="#dd6d11")
button1.place(relx=0.34,rely=0.4)
root.mainloop()
解决方法
这是字典查找的一种情况:
players = {
18: no_18,17: no_17,16: no_16,15: no_15,5: no_5,3: no_3,2: no_2,1: no_1}
def generate_number():
messagebox.showinfo(
"You got this player!",players.get(random.randint(1,20),'Player not found!')
)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。