我有一個for在C++中,我想用python編寫它,但我不知道如何處理for中的條件。誰能幫我 ?如何在python中編寫for循環
for (int b = (i - a)/2; a + b <= i; b++);
我有一個for在C++中,我想用python編寫它,但我不知道如何處理for中的條件。誰能幫我 ?如何在python中編寫for循環
for (int b = (i - a)/2; a + b <= i; b++);
終止條件a + b <= i
相當於b <= i - a
,反過來(如Python for
使用小於或等於)將是b < i - a + 1
。
這意味着在Python你可以寫:
for b in range((i - a)/2, i - a + 1):
...
但很多時候你不希望從C/C++轉換到Python時,寫這樣的像。你可能會更好地重構代碼。
是的,這是有效的。謝謝 :) – AzHK
使用while
a=something
i=something
b=(i-a)/2
while(a+b<=i):
###do whatever you want in the loop###
b+=1
當然,while循環可能適合這種情況,但是你沒有回答他的問題:「如何在python中編寫循環」 –
你可以使用for循環d range()
功能。例如:
for i in range(15):
#code to execute 15 times
然而,因爲你的代碼,我推薦使用while循環,而不是:
i = 1 #your value for i
b = (i-a)/2
while a+b <= i:
# Other code
b+=1
你的困惑源於過度一般性ç的迭代構建的。 Python堅持所有循環參數都隱式引用循環索引。對於終止條件,解決b,和方面的不平等不平等:b <我 - 一個+ 1
現在我們得到爲循環
for b in range((i-a)/2, (i-a)+1):
一解釋是你有一個範圍從0到ia,並且你想要處理上半部分。
是[Internet斷](https://www.google.co.uk/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=python+for+loop&*)? – EdChum
大家知道,軟件工程的一半不是編程能力,而是研究和閱讀文檔的能力。這本身就是一種技巧! –
給出分號在行尾,最簡單的Python等價物是'pass'。 – Duncan