我是python3全新的。我需要寫一些簡單的過程如下。但想知道是否有任何我可以簡化下面的代碼?簡化Python代碼while循環,如果條件
def dosomething (i):
print(i);
n = 12
i = 1
while n > 0:
if i == 6:
i = 5
dosomething(i)
i += 1
n -= 1
我是python3全新的。我需要寫一些簡單的過程如下。但想知道是否有任何我可以簡化下面的代碼?簡化Python代碼while循環,如果條件
def dosomething (i):
print(i);
n = 12
i = 1
while n > 0:
if i == 6:
i = 5
dosomething(i)
i += 1
n -= 1
目前尚不清楚你想用這個例子,或者如果你的常量是顯著做什麼,但這裏有一個方法,創建相同的輸出有點更簡單:
def dosomething (i):
print(i);
n = 12
i = 1
for j in range(1, 6):
dosomething(j)
for k in range(n - 5):
dosomething(5)
一般,如果迭代次數是事先知道的,你應該用for循環來表示它,而不是while循環。
我想我從1,2,3,4,5,6,5,6,7,8,9,10,...等等 – jacobcan118
好的。代碼中其他值的意義仍然不清楚,但如果你只是想讓'i'在循環中接受這些值,'for'循環就是你想要的。在這種情況下,'對於範圍(n)中的我:dosomething(i)'與您現在描述的最接近。這有幫助嗎? –
是的,謝謝。事實證明,我在範圍(12)中使用'n:',如果其他條件將我傳遞給dosomething函數。 – jacobcan118
這會工作,簡化了while循環到一個for循環:
i = 1
for n in range(1, 13):
if i == 6:
i = 5
dosomething(i)
i += 1
,如果你正試圖避免的DoSomething(6):
for n in range(1, 13):
if n != 6:
dosomething(n)
這個問題屬於棧中的其他網站交換網絡:http://codereview.stackexchange.com/ – MarsAtomic