3 回答

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

TA貢獻1836條經驗 獲得超13個贊
你犯了一個小錯誤。您可以使用 if 條件來計算零i != '1',但您還應該添加 else 來在第一次遇到時中斷循環'1',否則您的循環將繼續計算所有零。
這是正確的解決方案:
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貢獻1836條經驗 獲得超4個贊
難道不應該用while循環來代替for... in循環嗎?
該解決方案應滿足練習假設:
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'
添加回答
舉報