Python int()base 10的文本无效-程序赢得';不接受输入

Python int()base 10的文本无效-程序赢得';不接受输入,python,list,variables,int,Python,List,Variables,Int,当我尝试使用代码时,它开始给我一个错误。我需要它来获取输入,将用户的数字分开,确定平均值,然后打印平均值。这一切都在以前工作过,但有些东西已经改变了,现在它不再接受输入,并在标题中给出了错误消息。这是我的密码: class1 = 0 class2 = 0 class3 = 0 class4 = 0 class5 = 0 def findAverage(): allClasses = class1 + class2 + class3 + class4 + class5 final

当我尝试使用代码时,它开始给我一个错误。我需要它来获取输入,将用户的数字分开,确定平均值,然后打印平均值。这一切都在以前工作过,但有些东西已经改变了,现在它不再接受输入,并在标题中给出了错误消息。这是我的密码:

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)
在这一行

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
函数分别应用于仅包含整数的子字符串。

例如
'1 2 3 4 5'
确实是一个无效的整数。您的期望是什么?在python2.7中,input()无法处理带有空格的输入字符串(完全公开,我目前正在使用python3,因此可能会有所不同)。在这种情况下,不应该使用grades=input(“blah”),而应该使用grades=raw_input(“blah”)之类的东西;从Python3中删除它是有原因的(除了允许将
raw_input
重命名为
input
)。