【发布时间】:2020-10-17 05:46:36
【问题描述】:
我想得到一个整数的位数之和,并找到了以下解决方案:
-
sum(map(int,list(str(123)))) -
sum(int(digit) for digit in str(123))
但是,当我运行它时,我收到以下错误:
TypeError: 'int' 对象不可调用
【问题讨论】:
-
您是否将名称
sum设置为整数? -
@khelwood:或者
str,或者,在前一个例子中,list。关键是,这显然是一个名字阴影冲突;不要将变量命名为与内置变量相同的名称。如果这是一个您不想重新启动的交互式会话,请运行del sum、del list、del str(忽略任何错误),您的代码应该可以正常工作。
标签: python python-3.x sum int typeerror