为了账号安全,请及时绑定邮箱和手机立即绑定

当 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 关注
  • 100 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信