2016-11-02 2 views
1
name1 = input("What is your first name: ") 
name2 = input("What is your last name: ") 
grades = [] 
prompt = "Enter your grade or enter '1234' to get your letter grade and average: " 

print('Please enter your grades:') 
grade1 = input(prompt).strip() 

while (prompt != 1234): 
    grades.append(grade1) 
    grade1 = input(prompt).strip() 

else: 
    print (name1.title().strip(), name2.title().strip()) 
    average = (sum(grades)/len(grades)) 
    print (average) 

Мне нужно это, чтобы распечатать имя и среднее значение. Когда я ввожу '1234', он просто продолжается нормально. Можете ли вы мне помочь, чтобы он выводил заявление else? Благодарю.Как вывести среднее значение при вводе числа?

ответ

1

Это одна проблема:

while (prompt != "1234"): 

Вы сравнив приглашение (которое «Введите свой класс ...») на номер 1234, и подсказка никогда не меняется. Это означает, что он никогда не будет равен 1234, так что он будет продолжаться вечно! Я считаю, вы хотите сравнить с grade1, а не prompt.


Другой вопрос, является else заявление:

else: 
    print (name1.title().strip(), name2.title().strip()) 
    average = (sum(grades)/len(grades)) 
    print (average) 

Вам не нужно заявление еще, потому что вы хотите, чтобы эти заявления должны быть выполнены после того, как в то время как петли заканчивается, верно? Затем просто поместите их после цикла while. Нет необходимости в заявлении if или if-else!


С этими поправками, код будет выглядеть примерно так:

name1 = input("What is your first name: ") 
name2 = input("What is your last name: ") 
grades = [] 
prompt = "Enter your grade or enter '1234' to get your letter grade and average: " 

print('Please enter your grades:') 
grade1 = input(prompt).strip() 

while (grade1 != "1234"): 
    grades.append(grade1) 
    grade1 = input(prompt).strip() 


print (name1.title().strip(), name2.title().strip()) 
average = (sum(grades)/len(grades)) 
print (average) 

Лишь немногие синтаксические ошибки были сдерживает вас, так держать хорошую работу!

+0

Он сделал то же самое; когда я вошел 1234, он просто пошел к следующей строке. – Gatwa

+0

Извините, я случайно забыл кавычки. Без них он сравнивался с числом 1234, а не с строкой. Должно быть хорошо. –

Смежные вопросы