2016-10-25 7 views
-3

私はインデックスを使用し、対応するようにxyの配列を結合しようとしています。しかし、彼らは働いていないようです。配列変数を使用して "messagebox.askquestion"を作成する方法

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

あなたの質問にコードをコピーすると、より速い回答が得られる可能性が高い –

+0

コードをその写真にリンクするのではなく、質問自体にテキストとして含めてください。 – EJoshuaS

答えて

1

あなたのifのステートメントのロジックに今欠陥があります。

インデックスの代わりに、インデックスのインデックスを取得したいとします。

p = problem1.get().lower() 
y[x.index(p)] 

、代わりのxの最初の項目を比較xは、ユーザーの入力が含まれている場合、あなたは確認する必要があります。

if p in x: 

さらに、askquestion行にタイプミスがあります。オプションmessageは3つではなく2つのsで綴られています。

関連する問題