6

TypeError: unsupported operand type(s) for +=: 'builtin_function_or_method' and 'int'在尝试运行此代码时收到此错误 ( )

total_exams = 0
for total_exams in range(1, 100001):
    sum += total_exams
print(sum)

sum = 0
total_exams = 0
while count <= 100000:
    sum += total_exams
    total_exams += 1
print(sum)

sum = int("Please enter Exam grade, or press 999 to end: ")
while true:
    if sum <= 100:
        sum += total_exams
        total_exams += 1
    elif sum == "999":
        print(sum / total_exams)

总之,我只需要运行程序直到输入 999,然后找到所有输入数字的平均值。至少有一点帮助会很好。

所以我已将我的代码编辑为(新)

totalExams = 0
total_sum = 0
for totalExams in range (1, 100001):
    total_sum += totalExams
print(total_sum)

total_sum = 0
totalExams = 0
while totalExams <= 100000:
    total_sum += totalExams
    totalExams += 1
print(total_sum)

exam_sum = int("Please enter Exam grade, or press 999 to end: ")
while true:
    if exam_sum <= 100:
        exam_sum += totalExams
        totalExams += 1
    elif exam_sum == "999":
        print(exam_sum / totalExams)

回溯(最近一次通话最后):

文件“C:/Python33/vfvfv.py”,第 14 行,在 Exam_sum = int("请输入考试成绩,或按 999 结束:") ValueError: invalid literal for int() with base 10: ' Please enter Exam评分,或按 999 结束:'

4

3 回答 3

11

这是对你们中的一个问题的答案,但是它对您没有太大帮助,因为您的代码已经很糟糕了……</p>

sum是一个内置函数,就像len例子一样。使用另一个名字,你很好;-)

进一步说明:

在这一行

sum += totalExams

你正在做的

sum = sum + totalExams

wheretotalExams有类型int并且sum是 python 中的内置函数。由于没有为and+实现运算符,因此您得到一个. (之前没有重新定义,所以它指向函数。)intbuilt-in-functionTypeErrorsum

您可以通过简单地选择一个尚未使用的变量名称来解决它,例如total_sumsum_exams等:

sum_exams += totalExams

或者在使用它之前简单地声明它:

sum = 0

警告:这样做,您将覆盖内置函数sum()

更多问题:

在这里,您将 a 转换string为a int,这绝对没有意义:

exam_sum = int("Please enter Exam grade, or press 999 to end: ")

我猜你想从用户那里得到一些输入并将其转换为整数?在这种情况下,您应该使用input()

exam_sum = input("Please enter Exam grade, or press 999 to end: ")

在您再次编辑问题之前,下一个错误将是

NameError: name 'true' is not defined

True是你想要的……</p>

最后但并非最不重要的

在所有这些修复之后,您最终会陷入无限循环。现在坐下来想想你的代码,然后再问下一个问题。

于 2013-09-27T22:46:44.593 回答
0

您还没有sum在第一个循环之前定义。如果你添加

sum = 0

它会正常工作。

但是,您可能希望使用不同的变量名,这样您就不会覆盖内置函数。

于 2013-09-27T22:52:02.610 回答
0

如果您试图让用户输入数字,您的意思可能是 int(input(...))

于 2013-09-28T16:44:59.097 回答