Python:如何为几何级数的循环创建C类型?
我要为以下对象创建等效的for循环:Python:如何为几何级数的循环创建C类型?,python,for-loop,Python,For Loop,我要为以下对象创建等效的for循环: for (int i = n; i > 0; i = i/2){ //do Something } 注意i=i/2 是否有一种现成的Python方法可以在for中执行此操作,而无需创建自定义生成器?使用xrange似乎只支持(+/-)阶跃值,而不支持除法 为什么不做以下事情: i = n while int(i) > 0: i = i / 2 # do something i = n while i > 0:
for (int i = n; i > 0; i = i/2){
//do Something
}
注意i=i/2
是否有一种现成的Python方法可以在for中执行此操作,而无需创建自定义生成器?使用
xrange
似乎只支持(+/-)阶跃值,而不支持除法 为什么不做以下事情:
i = n
while int(i) > 0:
i = i / 2
# do something
i = n
while i > 0:
#do something
i /= 2
整数除法版本let
n=8
。在n=0时停止
while i > 0:
print("do something")
n = n >> 1 # shift right, divide by 2
浮点除法letn=8.0
。停在n=5*10^(-324)
您是否尝试搜索Python for循环语法?此外,这是一个无限循环,因为i>0
始终为真,因为您总是除以2@cricket_007当它是整数除法的时候就不是了。看起来对我来说应该是一个while循环<代码>i=n;而i:i/=2
(想象适当的换行和缩进)<代码>while循环表示要重复未知次数for
循环表示要重复已知次数。@cricket\u 007 xrange语法用于算术级数(+/-索引),而不是几何级数。问题是除了在i>0:i=int(i/2)
while i > 0:
print("do something")
n /= 2.0