我收到此错误(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:以 10 为基数的 int() 的文字无效:“请输入考试成绩,或按 999 结束:”
这是针对您的一个问题的答案,但是它不会对您有太大帮助,因为您的代码已经损坏了......
sum
是一个内置函数,就像len
例如。使用另一个名字就可以了;-)
进一步解释:
在这一行
sum += totalExams
你正在做的
sum = sum + totalExams
where totalExams
有类型int
and sum
是Python中的内置函数。自从+
运算符未实现int
and built-in-function
,你得到一个TypeError
. (sum
之前没有重新定义,所以它指向该函数。)
您可以通过简单地选择一个尚未使用的变量名来解决它,例如total_sum
or sum_exams
etc.:
sum_exams += totalExams
或者在使用之前简单地声明它:
sum = 0
警告:这样做,您将覆盖内置函数sum()
.
更多问题:
在这里,您正在投射一个string
to an 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
就是你想要的……
最后但并非最不重要的
完成所有这些修复后,您将最终陷入无限循环。现在,在提出下一个问题之前,先坐下来思考一下您的代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)