循环的打断与跳回

这篇博客介绍了Python中`while`和`for`循环与`break`、`continue`关键字的使用,展示了如何通过它们实现无限循环的打断和循环条件的跳过。例子包括简单的密码验证、猜数字游戏和多轮问题解答,强调了`break`用于结束循环,`continue`用于跳过当前循环剩余部分并继续下一轮。
摘要由CSDN通过智能技术生成

while与break的搭配使用之无限循环的打断

break的意思是“打破”,是用来结束循环的,一般写作if…break

while True:
    p = input('请输入你的密码:')
    if p == '123':
        break
print('通过啦')

同样for …in也可以与break配合使用表示在有限次数下的条件判断。例如:

for i in range(5):
    print('这是我想你的第'+str(i)+'天')
    if i==3:  # 当i等于3的时候触发
        
        break # 结束循环
print('----------------------------')
for i in range(5):
    print('重复')
    if i==3:  # 当i等于3的时候触发
        
        break # 结束循环
print('----------------------------')
        
for i in range(5):
    print(i)
    if i==3:  # 当i等于3的时候触发
        
        break # 结束循环
print('----------------------------')

这是我想你的第0天
这是我想你的第1天
这是我想你的第2天
这是我想你的第3----------------------------
重复
重复
重复
重复
----------------------------
0
1
2
3
----------------------------

循环与continue的搭配之跳回循环

常规操作

上实例:以下分别为while,for循环与continue的搭配

#while与continue
while True:
    q1 = input('第一问:你一生之中,在什么地方最是快乐逍遥?')
    if q1 != '黑暗的冰窖':
        continue
    print('答对了,下面是第二问:')
    q2 = input('你生平最爱之人,叫什么名字?')
    if q2 != '梦姑':
        continue
    print('答对了,下面是第三问:')
    q3 = input('你最爱的这个人相貌如何?')
    if q3 == '不知道':
        break
print('都答对了,你是虚竹。')
------------------------------------------------
/
第一问:你一生之中,在什么地方最是快乐逍遥?
不知
第一问:你一生之中,在什么地方最是快乐逍遥?
大丰收
第一问:你一生之中,在什么地方最是快乐逍遥?
黑暗的冰窖
答对了,下面是第二问:
你生平最爱之人,叫什么名字?
戴假发
第一问:你一生之中,在什么地方最是快乐逍遥?
黑暗的冰窖
答对了,下面是第二问:
你生平最爱之人,叫什么名字?
梦姑
答对了,下面是第三问:
你最爱的这个人相貌如何?
不  
第一问:你一生之中,在什么地方最是快乐逍遥?
黑暗的冰窖
答对了,下面是第二问:
你生平最爱之人,叫什么名字?
梦姑  
第一问:你一生之中,在什么地方最是快乐逍遥?
梦姑
第一问:你一生之中,在什么地方最是快乐逍遥?
黑暗的冰窖
答对了,下面是第二问:
你生平最爱之人,叫什么名字?
梦姑
答对了,下面是第三问:
你最爱的这个人相貌如何?
不知道
都答对了,你是虚竹。
#for循环与continue
此举例是以上述故事为素材,该代码略有瑕疵,不过不影响我们认识,for循环与continue的关系
-------------------------------------------------------------------------------
for q1 in range(3):
    q1 = input('第一问:你一生之中,在什么地方最是快乐逍遥?')
    if q1 != '黑暗的冰窖':
        continue
    print('答对了,下面是第二问:')

    for q2 in range(3):
        q2 = input('你生平最爱之人,叫什么名字?')
        if q2 != '梦姑':
          continue
        print('答对了,下面是第三问:')

        for q3 in range(3):
           q3 = input('你最爱的这个人相貌如何?')
           if q3 == '不知道':
             break
print('都答对了,你是虚竹。')
----------------------------------------------------------------------------------
第一问:你一生之中,在什么地方最是快乐逍遥?段时间看
第一问:你一生之中,在什么地方最是快乐逍遥?发神经的
第一问:你一生之中,在什么地方最是快乐逍遥?黑暗的冰窖
答对了,下面是第二问:
你生平最爱之人,叫什么名字?家看来是
你生平最爱之人,叫什么名字?道具卡
你生平最爱之人,叫什么名字?梦姑
答对了,下面是第三问:
你最爱的这个人相貌如何?办法计算
你最爱的这个人相貌如何?大家发牢骚
你最爱的这个人相貌如何?不知道
都答对了,你是虚竹。
>>> 

可以看到continue的作用就是就是当某个条件为真时,又提前回到循环,而不会执行下面的代码

小练习之与上例区别

secret = 24  #设定秘密数字
while True:       
    guess = input('你来猜猜我的秘密数字是多少:')   #输入猜测数字
    if int(guess)==secret:  #数字对比
        print('正确!你很棒哦。') 
        break
    elif int(guess)>secret:
        print('你猜的太大了,请重新猜猜~')
    else:
        print('你猜的太小了,请重新猜猜~')
--------------------------------------------------------------------
你来猜猜我的秘密数字是多少:22
你猜的太小了,请重新猜猜~
你来猜猜我的秘密数字是多少:21
你猜的太小了,请重新猜猜~
你来猜猜我的秘密数字是多少:26
你猜的太大了,请重新猜猜~
你来猜猜我的秘密数字是多少:27
你猜的太大了,请重新猜猜~
你来猜猜我的秘密数字是多少:24
正确!你很棒哦。

可以看到,有很多不同而又相同的地方,单问题与多问题,单循环与多循环,还有continue的位置,我们可以进行对比学习

对比

number=23
for i in range(3):
    guess=int(input('猜猜我想的啥,你只有三次机会哦\n'))
    if guess==number:
        print('猜对哈')
        break
    elif int(guess)<23:
        print('猜小了哦,宝贝')
    elif int(guess)>23:
        print('猜大了哦,宝贝')

else:
    print('哎呀失败啦,没关系,我再给你一次机会猜一下吧')
    for i in range(1):
            guess1=int(input('猜猜我想的啥,你只有这一次机会哦\n'))
            if guess1==number:
                print('宝贝,猜对啦')
            else:
                print('哎呀,失败了')
--------------------------------------------------------------------
猜猜我想的啥,你只有三次机会哦
56
猜大了哦,宝贝
猜猜我想的啥,你只有三次机会哦
11
猜小了哦,宝贝
猜猜我想的啥,你只有三次机会哦
55
猜大了哦,宝贝
哎呀失败啦,没关系,我再给你一次机会猜一下吧
猜猜我想的啥,你只有这一次机会哦
24
哎呀,失败了
secret = 24
for i in range(3):
    guess = input('guess which number is my secret:')
    if  int(guess) ==secret:
        print('正确!你很棒哦。')  #输出结果
        break
    elif int(guess)>secret:
        print('你猜的太大了,请重新猜猜~')
    else:
        print('你猜的太小了,请重新猜猜~')
else:   #多注意该else的位置用法
    print('给你3次机会都猜不到,你失败了。')
-----------------------------------------------------------------
guess which number is my secret:11
你猜的太小了,请重新猜猜~
guess which number is my secret:1
你猜的太小了,请重新猜猜~
guess which number is my secret:11
你猜的太小了,请重新猜猜~
给你3次机会都猜不到,你失败了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hello world !

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值