15817360345 发表于 2022-10-1 02:14:53

for循环问题

需求:当跳出第二层循环后,继续运行后面的代码;

username = ["aa", "bb", "cc"]
for i in username:
    print(i, "一层循环")
    for ii in username:
      print(ii, "二层循环")
    break
    print("aaaa")

月下孤井 发表于 2022-10-1 04:35:22

为什么要加break呢, 加上break后,外层循环就停止了, 不会运行到print("aaaa"), 把break语句去掉

Brick_Porter 发表于 2022-10-1 07:40:22

会不会是你的break写错了位置?增加break的缩进username = ["aa", "bb", "cc"]
for i in username:
    print(i, "一层循环")
    for ii in username:
      print(ii, "二层循环")
      break# 这里增加缩进,或者删除break
    print("aaaa")

Twilight6 发表于 2022-10-1 08:35:46



循环中后续有代码,没有遇到 continue 和 break 都会默认执行后续的代码

所以你这里将 break 去除即可,参考代码:

username = ["aa", "bb", "cc"]
for i in username:
    print(i, "一层循环")
    for ii in username:
      print(ii, "二层循环")
    print("aaaa")

15817360345 发表于 2022-10-1 22:27:04

Twilight6 发表于 2022-10-1 08:35
循环中后续有代码,没有遇到 continue 和 break 都会默认执行后续的代码

所以你这里将 break 去除即 ...

大佬,我还有个问题,再不改变嵌套关系的情况下,如何让第二层循环只循环一次;二层循环里面我想去判断一些内容,但又不想他循环三次

15817360345 发表于 2022-10-2 01:30:14

15817360345 发表于 2022-10-1 22:27
大佬,我还有个问题,再不改变嵌套关系的情况下,如何让第二层循环只循环一次;二层循环里面我想去判断 ...

我试了一下 这样子好像也行
username = ["aa", "bb", "cc"]
for i in username:
    print(i, "外循环")
    for ii in username:
      print(ii, "内循环")
    count = 1
    print("aaa")
    if count == 1:
      break

lymbwx 发表于 2022-10-2 09:03:28

username = ["aa", "bb", "cc"]
for i in username:
    print(i, "一层循环")
    for ii in username:
      print(ii, "二层循环")
##    break
    print("aaaa")

去掉break 就 ok 了
页: [1]
查看完整版本: for循环问题