while
循环就是一个重复的过程, 我们人需要重复干一个活, 那么计算机也需要重复干一个活.
while 循环又称为条件循环.
语法列子
while 条件
- code 1
- code 2
- code 3
- ...
- while True:
- print('*1'*100)
- print('*2'*100)
ATM 列子
- # 实现 ATM 的输入密码重新输入的功能
- while True:
- user_db = 'nash'
- 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')
ps: 上述代码虽然实现了功能, 但是用户密码输对了, 他也会继续输入.
while + break
break 的意思是终止掉当前层的循环, 执行其他代码.
- while True:
- user_db = 'nash'
- pwd_db = '123'
- 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 循环')
- # 输出结果 password: 123
- # username: nash
- # password: 123
- # login successful
- # 退出了 while 循环
- while + continue
continue 的意思是终止本次循环, 直接进入下一次循环
用法列子
- n = 1
- while n < 10:
- if n == 8:
- # n += 1 # 如果注释这一行, 则会进入死循环
- continue
- print(n)
- n += 1
ps:continue 不能加在循环体的最后一步执行的代码, 因为代码加上去毫无意义, 如下所示的 continue 所在的位置就是毫无意义的. ps: 注意是最后一步执行的代码, 而不是最后一行.
while 循环的嵌套
ATM 密码输入成功还需要进行一系列的命令操作, 比如取款, 比如转账. 并且在执行功能结束后会退出命令操作的功能, 即在功能出执行输入 q 会退出输出功能的 while 循环并且退出 ATM 程序.
- # 退出内层循环的 while 循环嵌套
- while True:
- user_db = 'nash'
- pwd_db = '123'
- 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} 功能执行')
- else:
- print('username or password error')
- print('退出了 while 循环')
- # 输出结果 password: 123
- # username: nash
- # password: 123
- # login successful
- # 退出了 while 循环
tag 控制循环退出
- # tag 控制循环退出
- tag = True
- while tag:
- user_db = 'nash'
- pwd_db = '123'
- inp_user = input('username:')
- inp_pwd = input('password:')
- if inp_user == user_db and pwd_db == inp_pwd:
- print('login successful')
- while tag:
- cmd = input('请输入你需要的命令:')
- if cmd == 'q':
- tag = False
- print(f'{cmd} 功能执行')
- else:
- print('username or password error')
- print('退出了 while 循环')
- # username: nash
- # password: 123
- # login successful
- # 请输入你需要的命令: q
- # 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 中的代码
来源: http://www.bubuko.com/infodetail-3161523.html