我正在尝试使用索引并组合x
和y
数组,以便它们对应。但是,它们似乎没有起作用。
from tkinter import *
from tkinter import messagebox
x = ['screen','speakers','earphone jack','button','switch off','storage']
y = ['is the screen cracked','have the speakers been in conatct with water','has the earphone jack been in contact with water','is your button broken','is your battery older than 2 years','have you deleted enough data to allow more space']
solutions = ['go to the nearest phone store and get direct help','change your screen','put your phone in uncooked rice overnight and check in the morning','change your phone battery','delete enough data to allow you to download whatever you need']
**def problem1_1():**
i = ' '.join(x)
i.split(' ')
p = problem1.get()
if p == x[0] :
messagebox.askquestion(title = "screen", messsage =y[x.index(0)])
return**
myGui = Tk()
problem1 = StringVar()
myGui.geometry("500x500+200+200")
myGui.title("troubleshooting system")
myheader1 = Label(text = "Welcome To the Phone Troubleshooting System").pack()
header2 = Label(text = "What seems to be the issue with your phone? Is it an issue with your : screen, speakers, button,earphone jack, battery or storage",fg = 'blue',bg = 'yellow').pack()
ientry = Entry(textvariable = problem1).pack()
OkButton = Button(text = 'OK', command = problem1_1).pack()
myGui.mainloop()
答案 0 :(得分:1)
您的if
声明的逻辑现在存在缺陷。
您希望得到输入的索引,而不是索引0。
p = problem1.get().lower()
y[x.index(p)]
而不是比较x
的第一项,您应该检查x
是否包含用户的输入。
if p in x:
此外,askquestion
行还有一个拼写错误。选项message
拼写为两个s
而不是三个。