我想創建一個for循環等價物:Python:如何爲幾何級數創建循環的C類型?
for (int i = n; i > 0; i = i/2){
//do Something
}
通知的i = i/2
。
是否有一種開箱即用的Python方式在for中執行此操作而無需創建自定義生成器?使用xrange
似乎只支持(+/-)步值,而不是除法。
我想創建一個for循環等價物:Python:如何爲幾何級數創建循環的C類型?
for (int i = n; i > 0; i = i/2){
//do Something
}
通知的i = i/2
。
是否有一種開箱即用的Python方式在for中執行此操作而無需創建自定義生成器?使用xrange
似乎只支持(+/-)步值,而不是除法。
整數除法版本讓n = 8
。停止在n = 0
。
while i > 0:
print("do something")
n = n >> 1 # shift right, divide by 2
浮點除法讓n = 8.0
。暫停在n = 5*10^(-324)
while i > 0:
print("do something")
n /= 2.0
爲什麼不一樣的東西:
i = n
while i > 0:
#do something
i /= 2
您是否嘗試搜索Python for循環語法? https://wiki.python.org/moin/ForLoop –
此外,這是一個無限循環,因爲'i> 0'總是如此,因爲除非是整數除法,否則總是除以2 –
@ cricket_007。 – bereal