TypeError:+ =的不支持的操作数类型:'NoneType'和'str'

时间:2018-01-28 12:10:50

标签: python python-3.x typeerror

我是Python的新手,我确信我做错了 - 我想问一个用户三个数字并打印他们的总和,这是我当前的代码:

for i in range(0, 3):
    total = None
    num = input('Please enter number {}:'.format(str(i)))
    total += num

顺便说一句,total = None是尝试声明变量所以我可以在不设置值的情况下使用它? 我明白了

Traceback (most recent call last):
  File "<pyshell#20>", line 4, in <module>
    total += num
TypeError: unsupported operand type(s) for +=: 'NoneType' and 'str'

1 个答案:

答案 0 :(得分:0)

你不应该total = NoneNoneType不能用于添加。

错误消息提示了一个额外的问题:根据您的描述,您尝试添加3个数字,但内置input()的返回类型是str。所以这就是你应该写的:

total = 0
for i in range(0, 3):
    num = input('Please enter number {}:'.format(str(i)))
    total += int(num)

所有要点:

  • 正确缩进代码。缩进是Python的关键部分。
  • 不要在每个循环中将total设置为零。只在循环外设置一次
  • 照顾类型