2016-01-02 13 views
0

Итак, я пытаюсь сделать программу меню в python, и когда я напишу выбор, он снова даст мне меню, а не продолжение! содержимое меню не имеет значения! Я только написал первый выбор меню!Python while loop issue

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', и проверить« выбор »- это то, что вы ожидаете –

+0

Ответ был дан Даниэль Санчес уже, я просто хочу добавить, что с помощью словаря с заголовком как ключ и список всей метаинформации в качестве значения, вероятно, будет лучшим подходом, чем просто использование нескольких списков. –

+0

Обратите внимание, что в вашем коде также есть другие проблемы, например 'if (копии> = 1):' сравнение 'list' с' int'. – TigerhawkT3

ответ

1

Простая задача:

input возвращает string так выбор никогда не будет == 1, просто измените эту линию:

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