int()base 10的文字无效 - 程序不接受输入

时间:2014-06-04 17:54:50

标签: python list variables int

当我尝试使用它时,我的代码开始给我一个错误。我需要它来接收输入,将用户分开的数字分开,确定平均值然后打印平均值。这一切都以前工作,但有些事情发生了变化,现在它不再接受输入,并在标题中给出了错误信息。这是我的代码:

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)

1 个答案:

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