3 回答

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

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超13個贊
你犯了一個小錯誤。您可以使用 if 條件來計算零i != '1',但您還應(yīng)該添加 else 來在第一次遇到時中斷循環(huán)'1',否則您的循環(huán)將繼續(xù)計算所有零。
這是正確的解決方案:
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個贊
難道不應(yīng)該用while循環(huán)來代替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'
然而,這個解決方案更短更容易,也許對你有用:
iterator = 0
while code[iterator] != '1':
iterator += 1
print(iterator) # number of zero before '1'
添加回答
舉報