Python解释器随机更改类型或变量
我正在学习Python,觉得很有趣,但遇到了一个让我完全困惑的错误。当我运行我的代码时,出现了以下错误:
TypeError: unsupported operand type(s) for /: 'int' and 'type'
这个错误是因为下面这行代码中的除法引起的:
for i in items:
print i[1]
multiplier = WeightLeft / i[1]
让我感到困惑的是,当我打印i[1]时,它的值是:
<type 'int>
我尝试通过把int(i[1])放在分母的位置来强制分母变成整数,但又出现了一个新错误:
TypeError: descriptor '__trunc__' of 'int' object needs an argument
如果有人能给我一些建议,我将非常感激。
2 个回答
1
如果你执行 i[1] = int
,你会得到 <type 'int'>
,所以我猜在某个地方你写的是 i[1] = int
,而不是 i[1] = int(...)
。
4
i[1]
是类型对象 int
,而不是这个类型的实例。试图把这个类型对象转换成一个整数,就像是在调用 int(int)
一样。