【问题标题】:Why does this line tell me a float can not be used as integer为什么这一行告诉我浮点数不能用作整数
【发布时间】:2012-02-28 02:32:00
【问题描述】:

我的脚本正在赶上这一行:

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

我不确定它在浮点数中认为什么值是什么值。我尝试将 r/2 的长度转换为 int,但仍然出现此错误。我真的是 Python 新手,真的迷路了。

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    在 Python 3.x 中,/ 除法运算符总是给出一个浮点值。要使用整数除法,请使用//

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

    我怀疑您尝试过range(int(len(r))/2),但这并没有改变部门的运作方式。

    【讨论】:

    • 您确定您实际上正在运行您认为正在运行的代码吗?还是您现在在不同的代码行上遇到了类似的错误?
    • 当Python遇到运行时错误时,它会从编译后的表示中获取行号信息,然后返回读取源文件获取原始文本。因此,如果您在某个环境中运行代码,其中某些东西正在缓存脚本的编译结果,您可能会收到一个没有意义的错误,因为 Python 向您显示的代码与其实际编译的代码不同。您是直接从命令提示符运行 Python,还是在某种 IDE 或其他环境中运行它?
    • 好的。停止 IDLE,然后重新加载并再次尝试修改后的代码。 (我不使用 IDLE,所以我不确定它的行为。)
    • 停止空闲。找一个不奇怪的环境。重新开始。
    猜你喜欢
    • 2015-09-12
    • 1970-01-01
    • 1970-01-01
    • 2017-05-03
    • 1970-01-01
    • 2011-04-13
    • 2013-05-08
    • 2019-06-25
    • 1970-01-01
    相关资源
    最近更新 更多