Python解释器随机更改类型或变量

1 投票
2 回答
636 浏览
提问于 2025-04-16 13:50

我正在学习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) 一样。

撰写回答