python跳出双层循环

一、问题描述:

       大多数人在遍历时会使用for双层循环语句,在内层循环中使用break语句时,只跳出内层循环体。怎么跳出双层循环呢?

二、解决方案:

        内循环正常结束才会运行else语句,如果执行if语句中的break语句,会跳出当前循环体for j,else语句也不会执行。当for j...循环体正常结束时,else语句块中continue语句,跳出本次循环体for i中未执行的语句break,立即进行下一次的循环条件判定。

break:跳出一个循环体或者完全结束一个循环

continue:跳过本次循环体中剩下尚未执行的语句,立即进行下一次的循环条件判定

#两个字符串只要判断有相同字符退出整个循环体
s = "123"
s1 = "1b1"
for i in s:
    for j in s1:
        if i == j:
            print(i)
            break
    else:
        continue
    break

三、案例        

判断字符串长度是否大于等于10个,条件满足时再判断字符串中是否有重复数据,如果有重复数据退出双层循环。

#判断字符串长度是否大于等于10个,条件满足时再判断字符串中是否有重复数据,如果有重复数据退出双层循#环。
str1 = "qwaxdz18752"
num = 1
l = len(str1)
if l >= 10:
    print("str1字符串中不少于10个字符")
    for i in str1[0:(l-1):1]:
        for j in str1[num:l:1]:
            if i == j:
                print(f"字符串中存在重复数据,重复数据为:{i}")
                break
        else:
            if num == l-1:
                print("字符串中不存在重复数据")
            else:
                num = num + 1
                continue
        break
else:
    print("str1字符串中少于10个字符")
print(f'{str1=}')

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值