python - 无限除以 2

标签 python python-3.x while-loop infinite-loop division

我只是Python的初学者。我正在尝试制作一个脚本,将数字(用户输入)无限除以 2。我的意思是,如果用户输入,它应该像这样除以: “40/2 20/2 10/2 5/2 2.5/2 ……” 我的代码如下所示

print ('please insert a number')
num = input()
num=float(num)
while(num<1000):
    print(num/2)

输出只是用户输入除以2,然后结果永远循环。 接下来我可以做什么来使我的代码符合我的要求?

最佳答案

您可以通过始终为True的条件构建无限循环,例如标量True:

num = float(input('Please insert a number:\n'))

while True:
    num /= 2
    print(num)

实际上,这没有用。例如,您可以轻松插入 break 语句,以便循环在到达下限时停止。这里,当 float 值与 0 无法区分时,我们结束循环。

num = float(input('Please insert a number:\n'))

while True:
    num /= 2
    print(num)
    if num == 0:
        break

初始输入500的示例:

Please insert a number:
500
250.0
125.0
62.5
...
3.06e-322
1.53e-322
8e-323
4e-323
2e-323
1e-323
5e-324
0.0

关于python - 无限除以 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51965213/

相关文章:

Windows 64 上的 Python、GEOS 和 Shapely

python - __init__.py 并导入依赖

python - Open3D 场景渲染器 render_to_image 返回黑屏

python - While 循环内的输入函数

javascript - 文本!= ""是什么意思?

java - 计算每分钟在java中出现的次数

python - 窗口颜色/在 pygame 中添加一艘船

python - 如何使用 PyUpdater 从 USB 闪存驱动器进行更新

python-3.x - 如何在 Django 中正确创建 InMemoryUploadedFile 对象

python - 如何根据周围字符打印字符