无限除以 2
Infinite dividing by 2
我只是 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,然后结果永远循环。
接下来我该怎么做才能按照我的意愿编写我的代码?
首先,您应该在 while 中更新 num,如果您希望循环在达到 0 时停止,您应该将其用作 while 语句的条件
while num >= 0:
num /= 2
print(num)
永远循环输入没有多大意义,因为你只会陷入无限循环,即使它有一个点,你最终也会得到一个 float 类型 0.0
,随着此操作变为 0.
如果你想要求用户将提供的数字除以 2 n 次,这里有一个小程序可以做到:
首先你要让用户给你他要分的数:
number = int(input("Insert the number you want to divide by 2: "))
接下来,你要问除以2的次数:
n = int(input("How many times you want to divide the number by 2?: "))
注意 input
之前的 int
- 这些将转换 input
函数给定的 str
类型 int
类型。如果这一次看起来太多了,你可以这样做:
n = input("How many times you want to divide the number by 2?: ")
n = int(n)
现在,您可以编写逻辑了。我们可以使用 **
运算符首先将 2
提高 n
次方,然后除以数字(记住数学运算顺序):
answer = number / 2 ** n
print(answer)
数字 242
的示例输出被分割 9
次:
0.47265625 #242 / 2 ** 9
您可以通过始终为 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。我的意思是,如果用户输入,它应该像这样划分: “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,然后结果永远循环。 接下来我该怎么做才能按照我的意愿编写我的代码?
首先,您应该在 while 中更新 num,如果您希望循环在达到 0 时停止,您应该将其用作 while 语句的条件
while num >= 0:
num /= 2
print(num)
永远循环输入没有多大意义,因为你只会陷入无限循环,即使它有一个点,你最终也会得到一个 float 类型 0.0
,随着此操作变为 0.
如果你想要求用户将提供的数字除以 2 n 次,这里有一个小程序可以做到:
首先你要让用户给你他要分的数:
number = int(input("Insert the number you want to divide by 2: "))
接下来,你要问除以2的次数:
n = int(input("How many times you want to divide the number by 2?: "))
注意 input
之前的 int
- 这些将转换 input
函数给定的 str
类型 int
类型。如果这一次看起来太多了,你可以这样做:
n = input("How many times you want to divide the number by 2?: ")
n = int(n)
现在,您可以编写逻辑了。我们可以使用 **
运算符首先将 2
提高 n
次方,然后除以数字(记住数学运算顺序):
answer = number / 2 ** n
print(answer)
数字 242
的示例输出被分割 9
次:
0.47265625 #242 / 2 ** 9
您可以通过始终为 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