Python知识点4-嵌套循环break和continue使用死循环

一、循环【重点掌握】

1.嵌套循环

类似于嵌套if语句

语法:

while 表达式1:while 表达式2:语句
# 1.
# 循环5次,打印0~4
m = 0
while m < 5:print(m)m += 1
# 循环3次,打印0~2
n = 0
while n < 3:print(n)n += 1print("*" * 50)# 2.
# a.
# 外层循环
m = 0
while m < 5:# 内层循环n = 0while n < 3:print(f"{m}={n}")n += 1m += 1
# 外层循环:5次,内层循环:3次,总共打印15条print("*" * 50)# b
m = 0
n = 0
while m < 5:while n < 3:print(f"{m}={n}")n += 1m += 1# 注意:在代码执行的过程中,不管循环语句是否嵌套,都是将循环执行完毕,后面的才有执行的机会print("*" * 50)# 3.应用:打印九九乘法表
"""行       列
1*1=1                                           1        1
1*2=2 2*2=4                                     2        2
1*3=3 2*3=6 3*3=9                               3         3
......1*9=9 2*9=18 3*9=27 4*9=36 .....   9*9=81       9           9规律:a.列*行=乘积b.行的取值范围:1~9c.列的取值范围:1~ 当前行数d.使用嵌套循环,外层循环控制的是行, 内层循环控制的是列
"""
# 外层循环:控制的是行
row = 1
while row <= 9:# 内层循环:控制的是列col = 1while col <= row:print(f"{col}*{row}={col * row}",end=" ")col += 1row += 1print()   # 换行for row in range(1,10):for col in range(1,row + 1):print(f"{col}*{row}={col * row}", end=" ")print()
2.break和continue
"""
【面试题】
break:打断,表示结束当前循环【break书写在哪个循环中,就结束哪个循环,就近原则】
continue:继续,表示结束当前循环的本次循环,继续下一次循环
"""# 1.break     *******
# a.
m = 0
while m < 10:print(m)m += 1
# 0-9print("*" * 30)# b
# 注意1:break是一个关键字,但是可以单独作为一条语句使用
# 注意2:如果break应用在单层循环【while和for】中,在满足条件的情况下,表示结束循环
m = 0
while m < 10:print(m)if m == 3:breakm += 1print("*" * 30)# c.
# 注意3:break应用在循环中,结束的是当前循环【就近原则】
m = 0
while m < 5:n = 0while n < 3:if m == 2:breakprint(f"{m}={n}")n += 1m += 1
# 唯独没有2=0 2=1 2=2print("*" * 30)m = 0
while m < 5:n = 0while n < 3:print(f"{m}={n}")if n == 1:breakn += 1m += 1print("*" * 30)# 2.continue
# m = 0
# while m < 10:
#     if m == 3:
#         # break
#         continue
#     print(m)
#     m += 1m = 0
while m < 10:if m == 3:m += 1continueprint(m)m += 1# 练习:验证用户的用户名和密码,当用户名为root,密码为abc的时候,表示验证成功,
# 否则验证失败,失败时允许重复输入三次
error_num = 0
while True:username = input("请输入用户名:")password = input("请输入密码:")if username == 'root' and password == 'abc':print("登录成功!")breakelse:print('登录失败,用户名或密码错误,请重新输入')error_num += 1# 当error_num == 3则结束循环,否则循环继续if error_num == 3:print("已经错误三次,禁止登录!")breakelse:continue
3. else分支
"""
语法:
while  xxx:xxx
else:xxxfor 变量 in 容器:xxx
else:xxxfor 变量 in 容器:if xxx:xxxelse:xxx
else:xxx
"""# 1.注意1:当循环中没有break语句时,循环执行完毕之后,else代码块最后都会被执行,不常用
m = 0
while m < 5:print(m)m += 1
else:print('else被执行了')for n in range(5):print(n)
else:print("else被执行~~~~")print("*" * 50)# 2.注意2:当循环中有break语句且break语句被执行了,则else不会执行   常用*******
# 如果break执行,则else不执行,如果break不执行,else会执行
m = 0
while m < 5:print(m)if m > 10:breakm += 1
else:print('else被执行了')for n in range(5):print(n)if n > 10:break
else:print("else被执行~~~~")# pass:占位语句,没有实际含义,只是为了保证代码结构的完整性,在实际操作中,用于暂时性的占位# 练习:从控制台输入一个数字,判断该数是否是质数
# 质数【素数】:只能被1或它本身整除的数,最小的质数是2
num = input("请输入一个数字:")
if num.isdigit():  # 非负数num = int(num)if num < 2:print(f"{num}不是质数")else:# 思路:判断10是否是质数,只需要在2~9之间找到一个数,能整除10,则说明10不是质数for n in range(2,num):if num % n == 0:print(f"{num}不是质数")break    # 如果得到结论,可以提前结束循环else:print(f"{num}是质数")
else:print("输入有误")
4.死循环
# 1.语法
"""
while  1:passwhile  True:pass注意:死循环大多数结合break使用
"""# 2.练习:猜数字游戏
"""
a.从控制台输入一个数,和程序产生的随机数进行比较,范围为1~100
b.根据比较的结果输入的数  >  随机数,提示:你猜大了,往小了猜输入的数  <  随机数,提示:你猜小了,往大了猜输入的数  ==  随机数,提示:恭喜你,猜中了
"""
import  random
random_num = random.randint(1,100)
while True:input_num = int(input("请输入1~100之间的整数:"))if input_num > random_num:print("你猜大了,往小了猜")elif input_num < random_num:print("你猜小了,往大了猜")else:print("恭喜你,猜中了")# 猜中表示游戏结束,则结束死循环break

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/92031.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/92031.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

将HTML+JS+CSS数独游戏包装为安卓App

HTMLJSCSS制作一个数独游戏-CSDN博客 中开发了一个数独游戏&#xff0c;这个数独游戏提供了一次性回退到指定步骤的辅助功能&#xff0c;在解决复杂数独问题时十分有帮助&#xff0c;可作为玩数独游戏的辅助工具&#xff0c;因此&#xff0c;考虑将它改装成安卓App安装在手机上…

编程语言Java入门——核心技术篇(一)封装、继承和多态

同专栏基础知识篇写在这里&#xff0c;有兴趣的可以去看看&#xff1a; 编程语言Java入门——基础知识篇&#xff08;一&#xff09;-CSDN博客 编程语言Java入门——基础知识篇&#xff08;二&#xff09;-CSDN博客 编程语言Java入门——基础知识篇&#xff08;三&#xff0…

【39】MFC入门到精通——C++ /MFC操作文件行(读取,删除,修改指定行)

文章目录1 通过关键词&#xff0c;读取某一行 &#xff08;3种方法&#xff09;2 删除 指定行3 修改 指定行1 通过关键词&#xff0c;读取某一行 &#xff08;3种方法&#xff09; 通过定位关键词&#xff0c;读取某一行信息,返回CString //通过定位关键词&#xff0c;读取某…

5 种可行的方法:如何将 Redmi 联系人备份到 Mac

将 Redmi 联系人备份到 Mac 是防止因手机损坏、丢失或更换设备而导致数据丢失的重要措施。虽然云服务提供了便利性&#xff0c;但拥有离线备份可以提供额外的安全性&#xff0c;而无需完全依赖互联网。如果您想知道如何将 Redmi 联系人备份到 Mac&#xff0c;本文将为您介绍 5 …

LeRobot 具身智能机械臂 SO-ARM100 从搭建到训练全流程

今天给大家分享一下 LeRobot 具身智能机械臂 SO-ARM100 的完整使用流程&#xff0c;包括设备组装、环境配置、远程控制、数据录制到模型训练的全过程。适合刚入门具身智能的小伙伴参考学习。 一、前期准备与资源获取 在开始之前&#xff0c;我们需要准备好相关的资源和工具&a…

LINUX720 SWAP扩容;新增逻辑卷;逻辑卷扩容;数据库迁移;gdisk

SWAP空间扩展 方法一 增加硬盘或分区扩展 swap -s mkswap /dev/sdd6 blkid /dev/sdd6 swapon /dev/sdd6 swapon -s vim /etc/fstab /dev/sdd6 swap swap defaults 0 0 开机自动扩容 swap -s [rootweb ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sd…

Python 进程间通信:TCP安全加密数据传输

最近在写安全方面的程序&#xff0c;有需求&#xff0c;就做了这些TCP加密数据传输类。 utils.safeUtils的内容详见&#xff1a; SafeObj&#xff1a;Python 高安全性加密数据容器类-CSDN博客SafeKey&#xff1a;Python 高安全性加密密码容器类-CSDN博客 如有任何问题或漏洞欢迎…

Windows批量修改文件属性方法

标题使用icacls命令&#xff08;推荐批量操作&#xff09;打开管理员权限的命令提示符&#xff08;CMD&#xff09;执行以下命令&#xff1a;cmd icacls "文件夹路径" /grant 用户名:(OI)(CI)F /T /C 参数说明&#xff1a;(OI)&#xff1a;对象继承 - 适用于文件夹(C…

Entity Component System架构

ECS架构 1 简介 在当今快速发展的软件开发领域&#xff0c;游戏开发、实时模拟等场景对系统的性能、灵活性和可扩展性提出了极高的要求。传统的面向对象架构在面对复杂且动态变化的实体时&#xff0c;往往会出现代码耦合度高、扩展性差等问题。​ ECS&#xff08;Entity - Com…

.vscode 扩展配置

一、vue快捷键配置 在项目.vscode下新建vue3.0.code-snippets 每当输入vue3.0后自动生成代码片段 {"Vue3.0快速生成模板": {"scope": "vue","prefix": "Vue3.0","body": ["<template>"," &…

一个基于阿里云的C端Java服务的整体项目架构

1.背景介绍 总结一下工作使用到的基于通常的公有云的项目整体架构&#xff0c;如何基于公有云建设安全可靠的服务&#xff0c;以阿里云为例的整体架构&#xff1b;1. 全局流量治理层&#xff08;用户请求入口&#xff09;1.1 域名与 DNS 解析域名注册与备案&#xff1a;通过阿里…

《剥开洋葱看中间件:Node.js请求处理效率与错误控制的深层逻辑》

在Node.js的运行时环境中&#xff0c;中间件如同一系列精密咬合的齿轮&#xff0c;驱动着请求从进入到响应的完整旅程&#xff0c;而洋葱模型则是这组齿轮的传动系统。它以一种看似矛盾的方式融合了顺序与逆序、分离与协作——让每个处理环节既能独立工作&#xff0c;又能感知全…

GaussDB union 的用法

1 union 的作用union 运算符用于组合两个或更多 select 语句的结果集。2 union 使用前提union 中的每个 select 语句必须具有相同的列数这些列也必须具有相似的数据类型每个 select 语句中的列也必须以相同的顺序排列3 union 语法select column_name(s) from table1 union sele…

构建足球实时比分APP:REST API与WebSocket接入方案详解

在开发足球实时比分应用时&#xff0c;数据接入方式的选择直接影响用户体验和系统性能。本文将客观分析REST API和WebSocket两种主流接入方案的技术特点、适用场景和实现策略&#xff0c;帮助开发者做出合理选择。一、REST API&#xff1a;灵活的数据获取方案核心优势标准化接口…

Linux文件系统三要素:块划分、分区管理与inode结构解析

理解文件系统 我们知道文件可以分为磁盘文件和内存文件&#xff0c;内存文件前面我们已经谈过了&#xff0c;下面我们来谈谈磁盘文件。 目录 一、引入"块"概念 解析 stat demo.c 命令输出 基本信息 设备信息 索引节点信息 权限信息 时间戳 二、引入"分区…

基于paddleDetect的半监督目标检测实战

基于paddleDetect的半监督目标检测实战前言相关介绍前提条件实验环境安装环境项目地址使用paddleDetect的半监督方法训练自己的数据集准备数据分割数据集配置参数文件PaddleDetection-2.7.0/configs/semi_det/denseteacher/denseteacher_ppyoloe_plus_crn_l_coco_semi010.ymlPa…

计算机网络:(十)虚拟专用网 VPN 和网络地址转换 NAT

计算机网络&#xff1a;&#xff08;十&#xff09;虚拟专用网 VPN 和网络地址转换 NAT前言一、虚拟专用网 VPN1. 基础概念与作用2. 工作原理3. 常见类型4. 协议对比二、NAT&#xff1a;网络地址转换1. 基础概念与作用2. 工作原理与类型3. 优缺点与问题4. 进阶类型三、VPN 与 N…

数位 dp

数位dp 特点 问题大多是指“在 [l,r][l,r][l,r] 的区间内&#xff0c;满足……的数字的个数、种类&#xff0c;等等。” 但是显然&#xff0c;出题人想要卡你&#xff0c;rrr 肯定是非常大的&#xff0c;暴力枚举一定超时。 于是就有了数位 dp。 基本思路 数位 dp 说白了…

Selector的用法

Selector的用法 Selector是基于lxml构建的支持XPath选择器、CSS选择器&#xff0c;以及正则表达式&#xff0c;功能全面&#xff0c;解析速度和准确度非常高 from scrapy import Selectorbody <html><head><title>HelloWorld</title></head>&…

Netty封装Websocket并实现动态路由

引言 关于Netty和Websocket的介绍我就不多讲了,网上一搜一大片。现如今AI的趋势发展很热门,长连接对话也是会经常接触到的,使用Websocket实现长连接,那么很多人为了快速开发快速集成就会使用spring-boot-starter-websocket依赖快速实现,但是注意该实现是基于tomcat的,有…