我在尝试运行此代码时收到此错误(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行,in exam_sum = int(“请输入考试成绩,或按999结束:”) ValueError:基数为10的int()的文字无效:'请输入考试成绩,或按999结束:'
答案 0 :(得分:7)
这是对你们其中一个问题的回答,但是这对你们没有多大帮助,因为你们的代码已经完全崩溃......
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
就是你想要的......
最后但并非最不重要
在完成所有这些修复后,您将最终获得无限循环。现在,在提出下一个问题之前,先坐下来考虑一下你的代码。
答案 1 :(得分:0)
在第一次循环之前,您尚未定义sum
。如果你添加
sum = 0
它会正常工作。
但是,您可能希望使用不同的变量名,这样就不会覆盖内置函数。
答案 2 :(得分:0)
如果您试图让用户输入数字,您可能意味着输入(输入(...))