目录

  • 一、语法
  • 二、while + break
  • 三、while + continue
  • 四、while循环的嵌套
  • 五、tag控制循环退出
  • 六、while + else


一、语法

循环就是一个重复的过程,我们人需要重复干一个活,那么计算机也需要重复干一个活。ATM验证失败,那么计算机会让我们再一次输入密码。这个时候就得说出我们的wile循环,while循环又称为条件循环。

while 条件    code 1    code 2    code 3    ...while True:    print('*1'*100)    print('*2'*100)
# 实现ATM的输入密码重新输入的功能while True:    user_db = 'nick'    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')

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

二、while + break

break的意思是终止掉当前层的循环,执行其他代码。

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

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

while True:    user_db = 'nick'    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循环')
username: nickpassword: 123login successful退出了while循环

三、while + continue

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

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

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

while True:if 条件1:code1code2code3...else:code1code2code3...continue

四、while循环的嵌套

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

# 退出内层循环的while循环嵌套while True:    user_db = 'nick'    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循环')
# 退出双层循环的while循环嵌套while True:    user_db = 'nick'    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} 功能执行')        break    else:        print('username or password error')print('退出了while循环')
username: nickpassword: 123login successful请输入你需要的命令:q退出了while循环

五、tag控制循环退出

# tag控制循环退出tag = Truewhile tag:    user_db = 'nick'    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: nickpassword: 123login successful请输入你需要的命令:qq 功能执行退出了while循环

六、while + else

while+else:else会在while没有被break时才会执行else中的代码。

# while+elsen = 1while n < 3:    print(n)    n += 1else:    print('else会在while没有被break时才会执行else中的代码')
12else会在while没有被break时才会执行else中的代码
©著作权归作者所有:来自51CTO博客作者wx5b1fd43180419的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. Go语言基础之流程控制
  2. 解决go get下载包失败问题
  3. 执行 brew install 命令长时间卡在 Updating Homebrew 的解决方
  4. Ansible 日常使用技巧 - 运维总结
  5. 【DB笔试面试444】Oracle中PL/SQL的流程控制语句包括哪些?
  6. 【DB笔试面试604】在Oracle中,存储概要(Stored Outline)的作用是什
  7. 【DB笔试面试573】在Oracle中,常用Hint有哪些?
  8. python创建线程池(threadpool模块和multiprocessing模块)
  9. 【递归】JavaScript实现99乘法表的编写(双层for循环与递归方法)

随机推荐

  1. eclipse android集成开发环境分享 32位 6
  2. android中的数据存取-方式二:file(文件)
  3. LinearLayout和RelativeLayout 属性对比
  4. Android示例大全教学视频
  5. Android应用的LinearLayout中嵌套Relativ
  6. Android SDK版本名和API level对照表
  7. SDK1.5下 android判断是否存在网络
  8. android文件操作OpenFileInput OpenFileO
  9. android 判断是白天还是晚上,然后设置地图
  10. Android 系统开发学习杂记