流程控制之while循坏

流程控制之while循坏

一、语法

循环就是一个重复的过程,我们人需要重复干一个活,人岂不是要累死啊,而且还是那么…..的枯燥乏味,向我这样要的小年轻,不骚里骚气的行吗?那岂不是白白流浪了这么多年头,所以说呢要合理利用工具和资源,那么就不得不提及这个人笨重的大家伙,那就是传说中的神奇——计算机,利用这个大小子干些重复的活岂不是美滋滋。A例如:取钱,一大堆打款取,那岂不是能堵死,所以说人名早就了传说的TM机。例如TM验证失败,那么计算机会让我们再一次输入密码。这个时候就得说出我们的wile循环,while循环又称为条件循环。

# 基本格式
while 条件
    code 1
    code 2
    code 3
    ...
eg(死循环):
while True:
    print('*1'*100)
    print('*2'*100)

eg:

# 实现ATM的输入密码重新输入的功能
while True:
    user_db = 'randy'
    pwd_db = '123'

    inp_user = input('username: ')
    inp_pwd = input('password: ')
    if inp_user == user_db and pwd_db == inp_pwd:
        print('login successful')
    else:
        print('username or password error')

结果:

username: randy
password: 123
login successful

上述代码虽然实现了功能,但是用户密码输对了,他也会继续输入。

二、while +break

break的意思是终止掉当前层的循环,后面的代码不会再执行,执行循环外面的其他代码。

eg:

while True:
    print('1')
    print('2')
    break
    print('3')

结果:

1
2

上述代码的break毫无意义,循环的目的是为了让计算机和人一样工作,循环处理事情,而他直接打印1和2之后就退出循环了。而我们展示下有意义的while+break代码的组合。

while True:
    user_db = 'randy'
    pwd_db = '123456'

    inp_user = input('username: ')
    inp_pwd = input('password: ')
    if inp_user == user_db and pwd_db == inp_pwd:
        print('login successful')
        break
    else:
        print('username or password error')

print('退出了while循环')

结果:

username: randy
password: 123456
login successful
登陆成功会退出循环

三、while+continue

continue的意思是终止本次循环,直接进入下一次循环

n = 1
while n < 10:
    if n == 8:
        # n += 1  # 如果注释这一行,则会进入死循环
        continue
    print(n)
    n += 1

continue不能加在循环体的最后一步执行的代码,因为代码加上去毫无意义,如下所示的continue所在的位置就是毫无意义的。注意是最后一步执行的代码,而不是最后一行。

四、循环的嵌套

ATM密码输入成功还需要进行一系列的命令操作,比如取款,比如转账。并且在执行功能结束后会退出命令操作的功能,即在功能出执行输入q会退出输出功能的while循环并且退出ATM程序。

# 退出双层循环的while循环嵌套
while True:
    user_db = 'randy'
    pwd_db = '123456'

    inp_user = input('username: ')
    inp_pwd = input('password: ')

    if inp_user == user_db and pwd_db == inp_pwd:
        print('login successful')

        while True:
            cmd = input('请输入你需要的命令:')
            if cmd == 'q':
                break
            print(f'{cmd} 功能执行')
        break
    else:
        print('username or password error')

print('退出了while循环')

username: randy
password: 123456
login successful
请输入你需要的命令:q
退出了while循环

六、while+else

while+else:else会在while没有被break时才会执行else中的代码(应用场景几乎没有)。

 while+else
n = 1
while n < 3:
    print(n)
    n += 1
else:
    print('else会在while没有被break时才会执行else中的代码')

1
2
else会在while没有被break时才会执行else中的代码

posted @ 2019-08-01 19:12  RandySun  阅读(247)  评论(0编辑  收藏  举报