为什么这行代码告诉我不能将浮点数用作整数

3

我有一行代码让我的脚本卡住了:

for d in range(len(r)/2)

我不确定浮点数中的哪个值是什么值。我尝试将r/2的长度转换为整数,但仍然出现了这个错误。我对Python非常陌生,感到非常迷茫。

1个回答

7
在Python 3.x中,/除法运算符始终返回浮点数值。如果想要使用整数除法,请使用//
for d in range(len(r) // 2):

我猜你试过 range(int(len(r))/2),但这并不改变除法的工作方式。


你确定你确实在运行你认为你正在运行的代码吗?或者你现在在不同的代码行上得到了类似的错误吗? - Greg Hewgill
当Python遇到运行时错误时,它会从编译后的表示中获取行号信息,然后返回读取源文件以获取原始文本。因此,如果您在某个环境中运行代码,其中某些内容正在缓存脚本的编译结果,则可能会出现错误,因为Python向您显示的代码与其实际编译的代码不同。您是直接从命令提示符运行Python还是在某种IDE或其他环境中运行它? - Greg Hewgill
好的。停止IDLE,然后重新加载它并再次尝试您修改后的代码。(我不使用IDLE,所以我不确定它的行为。) - Greg Hewgill
1
停止IDLE。找一个不奇怪的环境。重新开始。 - Lennart Regebro

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接