Python for循环嵌套

前面我们讲while循环的时候while循环可以和break、else、continue连用。同样for循环也可以,它也有break、else、continue,并且用法和while循环是一模一样。

break是终止循环、else后面的代码hi在循环正常结束并且不被打断情况下执行、continue是立即终止本次循环,进入下一次循环。

我继续拿前面那个模拟QQ登入案例来讲。

username = '110119'
password = '123456'
num = 0
while num < 3:
    input_username = input('请输入你的账号:')
    input_password = input('请输入你的密码:')
    if input_username == username and input_password== password:
        print("登入成功")
        while True:
            action = input('请输入你的操作')
            if action == 'xxx':
                break
            print(f'正在看{action}')
        break
    else:
        print('用户名或密码错误,请注意格式大小写')
        num += 1
else:
    print('账号密码输错三次,已被锁定')

这段代码,本身是循环输错三次账号密码,就退出循环,我现在直接把while循环这段代码删掉,换成for i in range(3)。这也是循环三次就结束,然后其他都不用改。

username = '110119'
password = '123456'
num = 0
for i in range(3):
    input_username = input('请输入你的账号:')
    input_password = input('请输入你的密码:')
    if input_username == username and input_password== password:
        print("登入成功")
        while True:
            action = input('请输入你的操作')
            if action == 'q':
                break
            print(f'正在看{action}')
        break
    else:
        print('用户名或密码错误,请注意格式大小写')
        num += 1
else:
    print('账号密码输错三次,已被锁定')

break、else、continue这三个效果都是一样的。直接运行,输错三次账号密码,就退出了循环,然后账号密码被锁定。

然后再运行一次,输入正确的账号密码,然后输入‘q’,退出代码,最后结束。

我们现在来看,for循环的最后一个知识点,for循环嵌套。

首先写一个for循环,range(1,10),那就是1-9循环9次对吧。然后在子代码块中打印外层循环。

or i in range(1,10):
    print('外层循环---->',i)

这样打印就相当于把这个字符串,和这个变量i打印在同一行,打印出来中间就会有一个空格隔开,你可以把print中的逗号当做一个是一个空格。

然后我再写一个for循环。然后在子代码块中打印层次循环。

for i in range(1,10):
    print('外层循环---->',i)
    for x in range(1, 10):
        print('内层循环-->', x)

前面我们学循环的时候,就应该知道了循环一次,如果中间没有遇到break或continue,会把循环体代码全部执行完毕,然后再进入下一次循环。

我们来分析一下这段代码,首先进入的是外层循环,会先打印外层循环,这时候后i的值为1,接着就会进入内层的这层for循环,直接把内层的循环全部执行完毕,就是接着会打印9次内存循环1-9,这才是外层循环的子代码执行完毕了对吧。

然后才能进入第二次外层循环,这时候i的值为2,然后就会进入内层的这层for循环,直接把内层的循环全部执行完毕,就是接着会打印9次内存循环1-9,第二次外层循环执行完毕。

第三次外层循环,i的值为3,进入内存循环——打印9次1-9;

——

——

第九次外层玄幻,i的值为9,进入内存循环——打印9次1-9。

外层循环循环一次,内层循环就会完整的循环9次,现在我们运行看看是不是我们分析的效果一样。

根据循行的结果,分析的没有错误。

这里要注意,for循环嵌套推出的方法只有break,它不像while循环那样还可以改条件,并且break只能退出本层循环。

未经允许不得转载:445IT之家 » Python for循环嵌套

赞 (0) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏