Python的两种循环结构和break与continue

        在所有的循环中应当避免死循环的出现。死循环:条件始终为真的循环称为死循环在循环语句中,表达式永远为真,致循环持续执行程序无法终止。在开发的时候,死循环带来的麻烦是最直观最大的。

一. while循环

while循环的框架:

设置初始条件

while(判断是否达到了条件,达到了一直执行,没有达到就退出循环):

        条件满足的时候执行的条件

        改变判断条件(一般是计数器加一减一的操作)

冒号不要省略

while循环计算 1+2+...+100

# 利用循环计算 1+2+...+20 的和
num = 1
sum = 0while num <= 100:sum += numnum += 1print(sum)
"""
运行结果:
5050
"""

while 循环计算阶乘的和

# 利用while循环 计算阶乘的和
num = 1
num0 = 1
num1 = int(input("请输入:"))
sum = 1
result = 0while num <= num1:while num0 <= num:sum *= num0num0 += 1num0 = 1num += 1result += sumsum = 1
print("从1到 %d 阶乘的和为: %d" % (num-1,result))
"""
运行结果:
请输入:10
从1到 10 阶乘的和为: 4037913"""

二 . for...in...循环

        for ... in ...循环的框架

for 自定义变量 in range(n):

        下级代码

冒号不要省略

range(n):代表执行了n次,range是一个数列

 for...in... 从1输出到100.

# 利用for...in...循环输出从1至100# 自定义变量默认从 0 开始
for num in range(101):print(num)# 自定义变量可以通过设置来控制入点和出点
for num in range(10,101):print(num)

 for...in... 计算阶乘

# 利用for...in...循环 计算阶乘num = int(input("请输入:"))
sum = 1for i in range(num):sum *= i+1
print(sum)
"""
运行结果:请输入:5
120
"""

for...in... 计算阶乘的和

# 利用for...in...循环 计算阶乘
# 注意 range(n) ,range 中的 n 是取不到,只能到 n-1num = int(input("请输入:"))
sum = 1
result = 0for i in range(num):for j in range(i+1):sum *= j+1result += sumsum = 1print("从1到 %d 阶乘的和为: %d" % (num,result))
"""
运行结果:
请输入:10
从1到 10 阶乘的和为: 4037913"""

三. 循环中的 break

        作用:退出循环。

        在循环过程中,如果 某一个条件满足后,不再希望 循环继续执行可以使用 break 退出循环。

        注意:只能跳出距离最近的for或者while循环

break 跳出 while 循环

# break 跳出 while 循环
while True:print("*********循环中**********")str = input("请输入1024:")if str == "1024":break"""
运行结果:
*********循环中**********
请输入1024:1
*********循环中**********
请输入1024:str
*********循环中**********
请输入1024:1024"""

break 跳出 for...in... 循环

# break 跳出 for...in...循环
num = int(input("请输入[-10,10]的整数:"))for i in range(-10,10):if i < num:print("i进行加一,i现在是:%d" % i)i += 1elif i > num:print("i进行减一,i现在是:%d" % i)i -= 1else:print("i等于num")break"""
运行结果:
请输入[-10,10]的整数:5
i进行加一,i现在是:-10
i进行加一,i现在是:-9
i进行加一,i现在是:-8
i进行加一,i现在是:-7
i进行加一,i现在是:-6
i进行加一,i现在是:-5
i进行加一,i现在是:-4
i进行加一,i现在是:-3
i进行加一,i现在是:-2
i进行加一,i现在是:-1
i进行加一,i现在是:0
i进行加一,i现在是:1
i进行加一,i现在是:2
i进行加一,i现在是:3
i进行加一,i现在是:4
i等于num"""

判断是否为质数

        质数是除了1和本身以外除以任何数余数都为0的正整数,1就不是质数也不是合数。

for...in...方法

# 判断是否是质数
num = int(input("输入正整数:"))
for i in range(1,num+1):if num == 1:print("1既不是质数也不是合数")breakelse:if num % i == 0 and i != 1 and i != num:print("%d 是合数" % num)breakelse:if i == num:print("%d 是质数" % num)break"""
运行结果:
输入正整数:1
1既不是质数也不是合数输入正整数:4
4 是合数输入正整数:7
7 是质数
"""

while 方法

        flag 标志属性,是我自定义的。

# 判断是否是质数
num = int(input("输入正整数:"))
i = 2
flag = 0
if num != 1:while i < num:if num % i == 0:print("%d 是合数" % num)flag = 1breaki += 1
else:print("1既不是质数也不是合数")flag = 1if flag == 0:print("%d 是质数" % num)"""
运行结果:
输入正整数:1
1既不是质数也不是合数输入正整数:4
4 是合数输入正整数:7
7 是质数
"""

四. 循环中的 continue

        作用:跳过本次循环后面的剩余语句,然后继续下一次循环

        注意:只能跳过距离最近的for或者while循环

# 禁止输出数字 5
for i in range(1,10):if i == 5:continueelse:print(i,end=" ")j = 1
while j < 10:if j == 5:j += 1continueelse:print(j,end=" ")j += 1
"""
运行结果:
1 2 3 4 6 7 8 9 1 2 3 4 6 7 8 9 
"""


好好吃饭

好好睡觉

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

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

相关文章

【大数据学习 | Zookeeper】Zookeeper服务端与客户端的工作流程

1. Zookeeper服务端 ZooKeeper 服务端通常是以集群的形式部署&#xff0c;这样可以提供高可用性和容错能力。ZooKeeper 集群中的每个节点都保存着几乎相同的数据副本&#xff08;除了领导者选举相关的数据&#xff09;。集群中有一个节点被选为领导者&#xff08;Leader&#…

element 按钮变形 el-button样式异常

什么都没动&#xff0c;element UI的按钮变形了&#xff0c;莫名其妙&#xff0c;连官网的也变形了&#xff0c;换了其它浏览器又正常&#xff0c; 难道这是element UI的问题&#xff1f;NO&#xff0c;是浏览器的插件影响到了&#xff01;去扩展插件里面一个个关闭扩展&#x…

时间序列预测(十)——长短期记忆网络(LSTM)

目录 一、LSTM结构 二、LSTM 核心思想 三、LSTM分步演练 &#xff08;一&#xff09;初始化 1、权重和偏置初始化 2、初始细胞状态和隐藏状态初始化 &#xff08;二&#xff09;前向传播 1、遗忘门计算&#xff08;决定从上一时刻隐状态中丢弃多少信息&#xff09; 2、…

依赖关系是危险的

依赖, 我们需要它们&#xff0c;但如何有效安全地使用它们&#xff1f;在本周的节目中&#xff0c;Kris 与 Ian 和 Johnny 一起讨论了 polyfill.io 供应链攻击、Go 中依赖管理和使用的历史&#xff0c;以及 Go 谚语“一点复制胜过一点依赖”。当然&#xff0c;我们用一些不受欢…

CSS 样式 box-sizing: border-box; 用于控制元素的盒模型如何计算宽度和高度

文章目录 box-sizing: border-box; 的含义默认盒模型 (content-box)border-box 盒模型 在微信小程序中的应用示例 在微信小程序中&#xff0c;CSS 样式 box-sizing: border-box; 用于控制元素的盒模型如何计算宽度和高度。具体来说&#xff0c; box-sizing: border-box; 会改…

使用TimeShift备份和恢复Ubuntu Linux

您是否曾经想过如何备份和恢复您的Ubuntu或Debian系统&#xff1f;TimeShift是一个强大的备份和还原工具。TimeShift允许您创建系统快照&#xff0c;提供了一种在出现意外问题或系统故障时恢复到先前状态的简便方式。您可以使用RSYNC或BTRFS创建快照。 有了这个介绍&#xff0…

SSM 图书馆借还系统-计算机设计毕业源码24465

目 录 摘要 1 绪论 1.1 研究背景 1.2 研究意义 1.3论文章节安排 2相关技术介绍 2.1 B/S结构 2.2 SSM框架 2.3 MySQL数据库 3系统分析 3.1 可行性分析 3.2 系统功能性分析 3.3.非功能性分析 3.4 系统用例分析 3.5系统流程分析 3.5.1 用户登录流程 3.5.2 数据删…

vue Element U 解决表格数据不更新问题

最近在使用 Vue 和 Element UI 开发后台管理系统时&#xff0c;操作表单数据重新请求表格接口后遇到表格数据不更新的问题。后面查阅了些资料&#xff0c;这通常是由于 Vue 的响应式系统没有检测到数据的变化&#xff0c;或者数据更新后没有正确地触发视图的重新渲染。以下是一…

中小企业设备资源优化:Spring Boot系统实现

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常…

ruoyi域名跳转缓存冲突问题(解决办法修改:session名修改session的JSESSIONID名称)

【版权所有&#xff0c;文章允许转载&#xff0c;但须以链接方式注明源地址&#xff0c;否则追究法律责任】【创作不易&#xff0c;点个赞就是对我最大的支持】 前言 仅作为学习笔记&#xff0c;供大家参考 总结的不错的话&#xff0c;记得点赞收藏关注哦&#xff01; 目录 前…

Prism 四事件聚合器

#1024程序员节&#xff5c;征文# 不废话&#xff0c;直接上代码一个简单的示例。 1、事件聚合 创建一个文件夹EventBLL&#xff0c;添加EventDemo.cs&#xff0c;代码如下。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using …

linux中级wed服务器(https搭建加密服务器)

一。非对称加密算法&#xff1a; 公钥&#xff1a;公共密钥&#xff0c;开放 私钥&#xff1a;私有密钥&#xff0c;保密 1.发送方用自己的公钥加密&#xff0c;接受方用发送方的私钥解密&#xff1a;不可行 2.发送方用接受方的公钥加密&#xff0c;接受方用自己的私钥解密…

SpringMVC实战:构建高效表述层框架

文章目录 1. SpringMVC简介和体验1.1 介绍1.2 主要作用1.3 核心组件和调用流程1.4 快速体验 2. SpringMVC接收数据2.1 访问路径设置2.2 接收参数2.2.1 param和json参数比较2.2.2 param参数接收2.2.3 路径参数接收2.2.4 json参数接收 2.3 接收cookie数据2.4 接收请求头数据2.5 原…

【开源免费】基于SpringBoot+Vue.JS在线文档管理系统(JAVA毕业设计)

本文项目编号 T 038 &#xff0c;文末自助获取源码 \color{red}{T038&#xff0c;文末自助获取源码} T038&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…

CryoEM - 冷冻电镜 基于深度学习的 从头重构(Ab-initio Reconstruction) 开源项目 教程

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/143162494 免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。 来源于 CryoDragon 算法 冷冻电镜(CryoEM) 是一种成像方式,为蛋白质和…

【Flutter】页面布局:流式布局(Wrap、Flow)

在移动应用开发中&#xff0c;布局是非常重要的一部分&#xff0c;尤其是当我们需要处理动态或自适应的内容时。Flutter 提供了几种布局方式来帮助开发者处理复杂的 UI 场景&#xff0c;其中 Wrap 和 Flow 是常用的流式布局组件。它们在处理多个子组件时表现优越&#xff0c;尤…

AOT漫谈专题(第六篇): C# AOT 的泛型,序列化,反射问题

一&#xff1a;背景 1. 讲故事 在 .NET AOT 编程中&#xff0c;难免会在 泛型&#xff0c;序列化&#xff0c;以及反射的问题上纠结和反复纠错尝试&#xff0c;这篇我们就来好好聊一聊相关的处理方案。 二&#xff1a;常见问题解决 1. 泛型问题 研究过泛型的朋友应该都知道…

论文笔记:通用世界模型WorldDreamer

整理了WorldDreamer: Towards General World Models for Video Generation via Predicting Masked Tokens 论文的阅读笔记 背景模型实验 背景 现有的世界模型仅限于游戏或驾驶等特定场景&#xff0c;限制了它们捕捉一般世界动态环境复杂性的能力。针对这一挑战&#xff0c;本文…

qt QHBoxLayout详解

QHBoxLayout 是 Qt 框架中用于创建水平布局的类。它将子控件以横向的方式排列&#xff0c;并自动调整大小&#xff0c;以适应父窗口的尺寸变化。 重要方法 QHBoxLayout(QWidget *parent nullptr)&#xff1a;创建一个 QHBoxLayout 对象&#xff0c;并指定其父窗口部件。addWi…

【ArcGIS微课1000例】0125:ArcGIS矢量化无法自动完成面解决方案

文章目录 一、坐标系统问题二、正确使用自动完成面工具一、坐标系统问题 1. 数据库坐标系 arcgis矢量化的过程中,无法自动完成面,可能是因为图层要素没有坐标系造成的。双击数据库打开数据库属性,可以查看当前数据框的坐标系。 2. 图层坐标系 双击图层,打开图层属性,切…