3 回答

TA貢獻(xiàn)1813條經(jīng)驗(yàn) 獲得超2個(gè)贊
python 中的循環(huán)有兩個(gè)控制語(yǔ)句:continue
和break
。continue 跳過(guò)迭代的其余部分并從頂部開始,break 完全離開循環(huán)。所以你在這里想要的是break
有條件的else
。

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超13個(gè)贊
你犯了一個(gè)小錯(cuò)誤。您可以使用 if 條件來(lái)計(jì)算零i != '1',但您還應(yīng)該添加 else 來(lái)在第一次遇到時(shí)中斷循環(huán)'1',否則您的循環(huán)將繼續(xù)計(jì)算所有零。
這是正確的解決方案:
code = '00000000101100110001111110110011'
num_zero_before_1 = 0
for i in code:
if i != '1':
num_zero_before_1+=1
else:
break
print(num_zero_before_1)

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超4個(gè)贊
難道不應(yīng)該用while循環(huán)來(lái)代替for... in循環(huán)嗎?
該解決方案應(yīng)滿足練習(xí)假設(shè):
iterator = 0
while True:
if code[iterator] != '1':
iterator += 1
else:
break # it stops the loop, goes out of it
print(iterator) # number of zero before '1'
然而,這個(gè)解決方案更短更容易,也許對(duì)你有用:
iterator = 0
while code[iterator] != '1':
iterator += 1
print(iterator) # number of zero before '1'
添加回答
舉報(bào)