Python:如何为几何级数的循环创建C类型?

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循环:

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
浮点除法let
n=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