亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

當 if 語句為 true 時停止 for 循環

當 if 語句為 true 時停止 for 循環

慕勒3428872 2023-08-22 10:24:14
使用 while 和 if 語句來計算第一個 1 之前有多少個 0(從左到右)。code = '00000000101100110001111110110011'num_zero_before_1 = 0for i in code:  if i != '1':    num_zero_before_1+=1print(num_zero_before_1)我似乎無法得到答案
查看完整描述

3 回答

?
慕姐8265434

TA貢獻1813條經驗 獲得超2個贊

python 中的循環有兩個控制語句:continuebreak。continue 跳過迭代的其余部分并從頂部開始,break 完全離開循環。所以你在這里想要的是break有條件的else。



查看完整回答
反對 回復 2023-08-22
?
開心每一天1111

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)


查看完整回答
反對 回復 2023-08-22
?
HUH函數

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'


查看完整回答
反對 回復 2023-08-22
  • 3 回答
  • 0 關注
  • 171 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號