我正在练习python并尝试找到可以通过python显示的因子为2的最大浮点数。
我尝试了以下代码,但它没有运行。任何人都可以建议这个bug在哪里吗?
a=2.
b=1.
infinity = float("inf")
while a < infinity:
b=a*2.
if b > infinity:
break
if b < infinity:
a=b*2.
if a > infinity:
break
if a < infinity:
print a
elif b < infinity:
print b
答案 0 :(得分:4)
没有大于无穷大的数字,因此if b > infinity:
将永远不会为真。尝试将其更改为if b == infinity:
,您的程序将根据需要终止。
此外,如果您只使用一个变量,则可以稍微简化您的脚本:
a = 1.0
while True:
if a*2 == float("inf"):
break
a *= 2
print a