请解释第三行如果我使用浮球它不工作为什么

2024-04-25 06:12:16 发布

您现在位置:Python中文网/ 问答频道 /正文

for i in range(1,50,1):
    import math as m
    if int(m.sqrt(i))==float(m.sqrt(i)):
        print(i)

这是一个寻找完美平方数的程序 有人能解释一下这行的细节吗?我不明白为什么它有浮点数


1条回答
网友
1楼 · 发布于 2024-04-25 06:12:16

1==1.0是真的

1==1.232为假

执行int(m.sqrt(i))==float(m.sqrt(i))操作时,如果float(m.sqrt(i))的值没有小数点且等于int(m.sqrt(i)),则返回true

相关问题 更多 >