2016-01-02 209 views
0

所以,我想在python中做一個菜單程序,當我編寫它的選擇,它再次給我的菜單,而不是繼續!菜單的內容並不重要!我只寫了菜單的第一選擇!Python while循環問題

synexeia = True 
tameio=0 
titloi= ["Ο άρχοντας των δαχτυλιδιών","Έγκλημα και τιμωρία","Η φάρμα των ζώων","Hobbit"] 
author= ["J.R.R. Tolkien","Φ. Ντοστογιέφσκι","G. Orwell","J.R.R. Tolkien"] 
copies= [5,2,4,1] 
price= [11.4,13.7,9.7,8.5] 
while (synexeia==True): 
    print ("Μενού επιλογών") 
    print ("1. Εμφάνιση διαθέσιμων βιβλίων.") 
    print ("2. Αναζήτηση βιβλίου.") 
    print ("3. Πώληση βιβλίου.") 
    print ("4. Προμήθεια βιβλίου.") 
    print ("5. Αλλαγή τιμής διαθέσιμου βιβλίου.") 
    print ("6. Προβολή ποσού ταμείου.") 
    choice =input("Διάλεξε μία από τις παραπάνω επιλογές : ") 
    if (choice==1): 
     for i in range(0, (len(copies)-1)): 
      if (copies>=1): 
       print (titloi[i]) 
       print (author[i]) 
       print (copies[i]) 
       print (price[i]) 
+0

不是100%肯定,但它聽起來像是你」再次期待選擇爲「1」,然後跳入if語句,如果是這種情況,可以澄清「input」返回的內容並驗證「choice」是您期望的結果 –

+0

答案由Daniel Sanchez已經,我只想添加使用標題爲的字典關鍵字和所有元信息的列表值可能會比僅使用多重列表更好。 –

+0

請注意,您的代碼還有其他問題,比如'if(copies> = 1):'將list與int相比較。 – TigerhawkT3

回答

1

簡單的任務:

input返回string這樣的選擇將永遠== 1,只是改變該行:

choice = int(input("Διάλεξε μία από τις παραπάνω επιλογές : "))