2015-03-08 2 views
-1

Это действительно вопрос концепции от начинающего программиста. Я все еще работаю над этой программой. Когда я набираю параметр меню, не только печатает соответствующий оператор if, но и оператор else. С этим знанием питона я не понимаю, почему. Я хотел бы знать, что вызывает действие моего else.Концепция Python. Else печать заявления, когда он не должен

FIND_LOWEST_NUMBER_CHOICE = 1 
    FIND_HIGHEST_NUMBER_CHOICE = 2 
    FIND_TOTAL_CHOICE = 3 
    FIND_AVERAGE_CHOICE = 4 
    QUIT_CHOICE = 5 

    def main(): 
     numbers = get_values() 
     get_analysis(numbers) 
    def get_values(): 
     print('Please enter 20 numbers') 
     values =[]  
     for i in range(20): 
      value =(int(input("Enter A Random Number " + str(i + 1) + ": "))) 
      values.append(value) 
     return values 
    def get_analysis (numbers): 
     choice = 0 
     while choice != QUIT_CHOICE: 
      display_menu() 
      choice = int(input('Enter your choice:')) 
      if choice == FIND_LOWEST_NUMBER_CHOICE: 
       print("The Lowest Number Is:", min(numbers)) 
      if choice == FIND_HIGHEST_NUMBER_CHOICE: 
       print("The Highest Number Is:", max(numbers)) 
      if choice == FIND_TOTAL_CHOICE: 
       print("The Sum The Numbers Is:", sum(numbers)) 
      if choice == FIND_AVERAGE_CHOICE: 
       print("The Average The Numbers Is:", sum(numbers)/len(numbers)) 
      if choice == QUIT_CHOICE: 
       print("Exiting program....") 
      else: 
       print('Error') 

    def display_menu(): 
     print(' Menu') 
     print('1. Show lowest number') 
     print('2. Show highest number') 
     print('3. Show total of numbers') 
     print('4. Show average of numbers') 
     print('5. Quit') 

    main() 

спасибо !!

+0

Используйте 'elif', если вы хотите, чтобы соответствовать той же переменной в отношении нескольких значений – thefourtheye

+0

Спасибо. Кажется, я слишком долго смотрел на нее, и я даже не заметил. – Andrea

ответ

0

Вы должны использовать elif, потому что в вашем коде else просто соответствует последнему, если.

Например:

if choice == FIND_LOWEST_NUMBER_CHOICE: 
    print("The Lowest Number Is:", min(numbers)) 
elif choice == FIND_HIGHEST_NUMBER_CHOICE: 
    print("The Highest Number Is:", max(numbers)) 
elif choice == FIND_TOTAL_CHOICE: 
    print("The Sum The Numbers Is:", sum(numbers)) 
elif choice == FIND_AVERAGE_CHOICE: 
    print("The Average The Numbers Is:", sum(numbers)/len(numbers)) 
elif choice == QUIT_CHOICE: 
    print("Exiting program....") 
else: 
    print('Error') 
Смежные вопросы