什麼是相當於Python的閉環控制
for (I=2; I<n; I*=2)
的蟒蛇。 我試圖用range()函數來做到這一點,我知道它如何與增量只工作。但在這裏我想在每次迭代中乘以它。我不想在循環中手動執行它
什麼是相當於Python的閉環控制
for (I=2; I<n; I*=2)
的蟒蛇。 我試圖用range()函數來做到這一點,我知道它如何與增量只工作。但在這裏我想在每次迭代中乘以它。我不想在循環中手動執行它
雖然while
很容易,while
也很慢。嘗試:
In [3]: import math
In [4]: n = 10
In [5]: for i in (2**n for n in range(1, int(math.log2(n)) + 1)):
...: print(i)
...:
2
4
8
In [6]: n = 40
In [7]: for i in (2**n for n in range(1, int(math.log2(n)) + 1)):
...: print(i)
...:
2
4
8
16
32
In [8]: n = 60
In [9]: for i in (2**n for n in range(1, int(math.log2(n)) + 1)):
...: print(i)
...:
2
4
8
16
32
In [10]: n = 100
In [11]: for i in (2**n for n in range(1, int(math.log2(n)) + 1)):
...: print(i)
...:
2
4
8
16
32
64
簡單是Python中的規則。雖然是簡單的:
n = 20
i = 2
while (i<n):
print "the i variable is "+str(i)
i = i * 2
我(本來,這已經被改變)除了使用這個簡單的例子,乘法會簡單地用「*」操作符像你一樣。
問題說我* = 2,這是乘法,i = i + 2在你的答案中是加法。 – quantummind
該評論指出。正在教授概念;我寫錢的真正代碼。 –
好的,我想撤銷投票,但我不能這樣做,直到你編輯你的答案。考慮你可能會做客戶要求的,而不是寫你想要的,並告訴他可以修改它,以便按照他/她的意願工作。 :-) – quantummind
這是一個無限循環。 '0 * 2'是'0'。 –
顯示你的代碼,你得到的錯誤和你期待的結果。這將幫助我們幫助你。 – Inconnu
這是java或C++的語法我想在python中做它 –