2014-06-04 5 views
0

Мой код начал давать мне сообщение об ошибке, когда я пытаюсь его использовать. Мне нужно, чтобы он вводил ввод, разбивал числа от пользователя отдельно, определял среднее значение, а затем печатал среднее значение. Все это работало ранее, но что-то изменилось, и теперь оно больше не принимает входные данные и дает мне сообщение об ошибке в заголовке. Вот мой код:Неверный литерал для базы int() 10 - Программа не принимает ввод

class1 = 0 
class2 = 0 
class3 = 0 
class4 = 0 
class5 = 0 

def findAverage(): 
    allClasses = class1 + class2 + class3 + class4 + class5 
    finalAverage = allClasses/5 
    return finalAverage 


grades = int(input("Enter the grades from your five classes, seperated by a space.")) 

grades_list = grades.split(' ') 

class1, class2, class3, class4, class5 = grades_list 

findAverage() 

if findAverage() >= 80: 
print("Congratulations, you are on the honor roll. Your average is", findAverage) 
+3

Например, '' 1 2 3 4 5'' действительно является недопустимым целым числом. Каковы были ваши ожидания? – vaultah

ответ

2

В этой строке

grades = int(input("Enter the grades from your five classes, seperated by a space.")) 

вы пропусканием int функцию в виде строки, которые я думаю, как правило, содержит ряд целых разделенных пробелом. Это не будет строка, в которой int способен анализировать целое число. Вы, вероятно, хотите вместо этого:

grades = raw_input("Enter the grades from your five classes, seperated by a space.") 

grades_list = [int(grade) for grade in grades.split(' ')] 

class1, class2, class3, class4, class5 = grades_list 

Вы должны применить функцию int индивидуально подстрок, которые содержат только целое число.

+0

В python2.7 input() не будет работать со строкой ввода, которая имеет пробелы (полное раскрытие информации я использую python3 в данный момент, так что, возможно, это другое). В этом случае вместо классов = input («blah») вы должны использовать что-то вроде grades = raw_input («blah»). – Nahkki

+0

Вы должны использовать 'raw_input' почти в каждом случае в Python 2.x; есть причина, по которой он был удален (кроме того, что просто разрешить 'raw_input' переименовываться как' input') из Python 3. – chepner

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