Skip to main content
 首页 » 编程设计

python之类型错误 : unsupported operand type(s) for +=: 'builtin_function_or_method' and 'int'

2025年05月04日24小虾米

我在尝试运行此代码时收到此错误(TypeError:+= 不支持的操作数类型:'builtin_function_or_method' 和 '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:以 10 为底的 int() 的无效文字:'请输入考试成绩,或按 999 结束:'

请您参考如下方法:

这是对你们其中一个问题的答案,但是它对你帮助不大,因为你的代码很糟糕......

sum 是一个内置函数,例如 len。使用其他名称就可以了 ;-)

进一步说明:

在这一行

sum += totalExams 

你在做什么

sum = sum + totalExams 

其中 totalExams 的类型为 int 而 sum 是 python 中的内置函数。由于 + 运算符未针对 int 和 built-in-function 实现,您会得到一个 TypeError。 (sum 之前没有被重新定义,所以它指向函数。)

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

sum_exams += totalExams 

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

sum = 0 

注意:这样做会覆盖内置函数 sum()。

更多问题:

在这里,您将 string 转换为 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 是你想要的......

最后但并非最不重要的

在所有这些修复之后,您将以无限循环告终。现在坐下来思考您的代码,然后再问下一个问题。