Python 03(循环语句)
Python03(循环语句)
文章目录
- Python03(循环语句)
- 一、while语句
- 二、while实现猜数字
- 三、while循环的嵌套
- while循环嵌套实例
- 需求:
- 四、for循环
- 1、什么 是for循环
- 2、语法
- 3、执行流程
- 4、for循环的基本使用
- 5、range()函数
- 6、range()函数的使用
- 7、for循环实例01
- 8、for循环遍历字符串
- 五、循环嵌套语法(总结)
- 1、while和for的相互嵌套
- 六、循环嵌套-实例
- 七、跳转语句
- 1、 break语句
- 2、brake的用法:
- 3、break简单的使用实例
- 八、continue语句
- 1、continue 语句的使用
- 2、拍腿游戏实例
- 九、pass空语句
python中的循环语句
一、while语句
语法:
"""while循环语句:语法格式为: while 条件:条件满足执行的代码块.......只要条件满足就会一直执行
"""# while循环的简单使用
i = 0
while i < 10:print("while语法")i += 1
- 条件的结果处理就是布尔类型
- 注意空格缩进
- 使用的时候一定要设定好条件,否则循环无法停止。
while循环的简单语法练习
# 语法练习 使用while循环求出1到100 之间的累加和
i = 1
sum = 0
while i <= 100:sum += ii += 1
print(f"1~100之间的累加和为;{int(sum)}")
二、while实现猜数字
需求:
- 1-100之间随机生成数字,无限次机会
- 每一次都会有提示大了、小了、或者猜中了
- 统计好使用的次数
# 导入随机数函数
import random
# 初始化随机数
num = random.randint(1,100)# 初始化变量
count = 0
# 使用变量阀门去控制循环
true = True
# 逻辑代码
while true:random_num = int(input("请输入您猜的数字:"))count += 1if random_num == num:print("恭喜你第%d次猜中了!" % count)true = Falseelse:if random_num <= num:print("猜小了")else:print("猜大了")
三、while循环的嵌套
嵌套:
- 外层可以理解为每一天都需要执行
- 内层循环可以理解为每一天中需要执行的内容。
- 外层一次,内层一周期
"""while循环嵌套
"""i = 1
while i <= 100:print("敲代码的第%d天" % i)j = 1while j <= 10:print(f"这是第{j}个小时")j += 1print("坚持!")i += 1print(f"坚持到第{i - 1}天", "还要继续努力")
- 注意空格 和 条件的设置
while循环嵌套实例
需求:
定义一个变量(number) 和 一个控制循环条件的变量(none),在while循环中,将变量number 不断的加1,然后通过if 判断number的值是否满足条件。
条件为真的时候,none则设置为 False (默认为True)
print("今有物不知其数,三三数之剩二,五五数剩三,七七数之剩二,问几何? \n")
none = True # 做为while循环的条件变量
number = 0 # 计数的变量
while none:number += 1if number % 3 == 2 and number % 5 == 3 and number % 7 == 2: # 条件满足则执行if所管控的代码print("答曰:这个数是%d" % number)none = False # 这里需要将循环条件设置为不成立
- 结果:
答曰:这个数是23
四、for循环
1、什么 是for循环
- for循环是一个依次重复执行的循环。通常用于枚举或遍历,以及迭代对象中的元素。
2、语法
for 迭代变量 in 对象:循环体
- 这里和之前的 if 、if else 、if elif else 、while一样,**注意空格缩进(**这是规则,不和其他语言所说的规范)。
3、执行流程
- 这里我用生活中的例子来解释一下该流程控制图吧
例如:在上体育课,体育老师要求同学们排队进行踢毽球测试,每个同学一次机会,毽球落地则换一个同学,直到全部同学都测是完毕,即循环结束
4、for循环的基本使用
在使用for循环的时候,最基本的应用就是进行数值循环。
例如,想要实现从1 到 100 的累加,可以通过下面的代码实现:
# 下面代码是 实现 1 到 100 的累加和 实例result = 0 # 保存累加值的变量
for i in range(101):result += i # 实现累加功能
print(f"累加和:{result}") # 循环结束输出累加后的结果
5、range()函数
在上面代码中,使用了 range()函数,该函数是 Python内置的函数,用于生成一系列连续的整数,多用于for循环语句中。
语法格式如下:
range(start, end, step)
参数说明:
- start:用于指定计数的起始值,可以省略,省略则从 0 开始。
- end: 用于指定计数的结束值(不包含该值,range(7),实际为0-6,没有7) ,不能省略,当range()函数只有一个参数时,即表示指定计数的结束值。
- step: 用于指定步长,即两数之间的间隔,可以省略,如果省略则步长为1,例如(range(1,7)返回:1、2、3、4、5、6)
6、range()函数的使用
例如,使用下面的for循环语句,将输出 10 以内的所有奇数:
代码如下:
for i in range(1,10,2):print(i,end='') # 将满足条件的i打印
结果如下:
1 3 5 7 9
代码中的end=''转义字符(不换行输出)
7、for循环实例01
需求: 使用for循环语句实现从 1 循环到 100 (不包含100),并且记录符合要求的数。
条件:今有物不知其数,三三数之剩二,五五数剩三,七七数之剩二,问几何?
代码示例:
for i in range(1,100):if i % 3 == 2 and i % 5 == 3 and i % 7 == 2:print("答曰:这个数是%d" % i)
执行结果:答曰:这个数是23
8、for循环遍历字符串
for 循环除了能够循环数值,还可以逐个遍历字符串。
代码示例:
string = '不要在说不能'
print(string) # 横向显示(直接打印)
for ch in string:print(ch) # 纵向显示(挨个打印)
- 出去上面将的两种方式,for循环还可以用于迭代列表,元组,集合,和字典等,后面会讲。
五、循环嵌套语法(总结)
在Python中,允许在一个循环体中嵌套另一个循环,称之为:循环嵌套。
- 例如:在电影院中找座位号,需要知道第几排第几列才能精确的找到自己的座位号。
如何理解呢?假如:我需要找到第二排第三列的座位号,首先需要寻找到第二排,然后再寻找第三列,这个过程就类似循环嵌套
1、while和for的相互嵌套
在 while 循环中嵌套 while 循环的语法格式:
while 条件表达式1:while 条件表达式2:循环体2循环体1
在 for 循环中嵌套 for 循环的语法格式:
for 迭代的变量1 in 对象1:for 迭代的变量2 in 对象2:循环体2循环体1
在 while 循环中嵌套 for 循环的语法格式:
while 条件表达式:for 迭代的变量 in 对象:循环体2循环体1
在 for 循环中嵌套 while循环的语法格式:
for 迭代的变量 in 对象:while 条件表达式:循环体2循环体1
-
除了上面的四种嵌套格式外,还可以实现更多层的嵌套,但都是大同小异(类似),不一一列出
六、循环嵌套-实例
使用嵌套的 for 循环打印九九乘法表,代码如下:
代码示例:
for i in range(1, 10): # 输出 9 行for j in range(1, i + 1): # 输出与行数相等的列数print(str(j) + "x" + str(i) + "=" + str(i * j) + "\t", end=' ')print('') # 执行完一行后 换行
执行结果为:
代码解释:
该实例使用了双重for循环嵌套
-
第一个循环可以看成是对行数的控制,同时也是每一个乘法公式的第二个因数
-
第二个循环控制乘法表的列数,列数的最大值等于行数,因此第二个循环的条件是在第一个循环的基础上建立的。
七、跳转语句
当循环条件一直满足时,程序会一直执行下去,就像迷路的车一样, 在某个地方不停地转圈。如果我们希望在中间离开循环,也就是for循环和while循环结束条件之前。
有两种方法可以实现:
① 使用 continue语句直接跳到循环的下一次迭代。
② 使用break 完全终止循环。
1、 break语句
break 语句可以终止当前的循环,包括 for 语句 和 while 语句在内的所有控制语句。
**例子理解:**张三一个人在操场上跑步,原计划跑10圈,在他跑到第3圈的时候,遇到了自己的女神,于是果断停下来,终止跑步。女神就 === break。
2、brake的用法:
① 在while循环中的使用
while 条件表达式1:执行代码if 条件表达式2:break
- 条件表达式2 用于判断什么时候终止循环
② 在for循环中的使用
for 迭代的变量 in 对象:if 条件表达式:break
- 条件表达式 用于判断什么时候终止循环
3、break简单的使用实例
for i in range(1, 101):if i % 3 == 2 and i % 5 == 3 and i % 7 == 2:print("答曰;这个数是%d" % i)break # 这里添加break跳出循环
经过前面的实践都知道,结果为 23 ,但是我们需要循到 100 ,没有必要,太浪费了,此时我们可以在满足条件的时候(直接使用break跳出循环)
八、continue语句
continue语句没有break语句强大,他只能终止当前一次的循环
**例子理解:**张三一个人在操场上跑步,原计划跑10圈,在他跑到第3圈的时候,遇到了自己的女神在跑步,于是果断停下来,回到起点等待自己的女神到来,(这就停止了当前的循环),女神到了起点,则继续陪着女神跑圈。直到条件结束。
1、continue 语句的使用
① 在while循环中的使用
while 条件表达式1:执行代码if 条件表达式2:continue
- 条件表达式2 用于判断什么时候跳出循环
② 在for循环中的使用
for 迭代的变量 in 对象:if 条件表达式:continue
- 条件表达式 用于判断什么时候跳出循环
2、拍腿游戏实例
需求:几个好朋友一起玩逢七拍腿游戏,从 1 开始一次数数,当数到尾数为 7 或 是 7 的倍数时,则不报该数,而是拍一下腿。(从1 到 99)99次机会
total = 99
for number in range(1, 100):if number % 7 == 0: # 是否为 7 的倍数continue # 直接跳过执行下一次循环else:string = str(number) # 类型转换if string.endswith('7'): # 字符尾数是否为 7continue # 直接跳过执行下一次循环total -= 1 # 可拍腿数 - 1
print(f"从1 数到 99共拍了 { total } 次腿") # 显示拍腿次数
说明:
当第一个if语句成立的时候,则会通过continue语句跳出本次循环,执行下一次循环,后面的代码就不会执行了。
第二个if是判断尾数是否为7 (注意数据类型转换),同样的会跳过本次执行,执行下一次循环。
如果都不满足的,则就会对 total 计数器进行 -1 操作,直到循环结束,total得到的就是拍腿的次数
九、pass空语句
作用:
- pass表示空语句,不做任何操作,就是为了占位,方便以后对不是偶数的操作(可以防止报错)
代码示例:
for i in range(1,10):# 判断是否为偶数if i % 2 == 0:print(i, end=' ')# 不是偶数else:# 占位符,不做任何操作pass
虽然对于Python中的循环语句有了学习和了解,但要完全掌握,需要不断地练习和复习(学过了直接复习案例或者实例即可)
相关文章:

Python 03(循环语句)
Python03(循环语句) 文章目录 Python03(循环语句)一、while语句二、while实现猜数字三、while循环的嵌套while循环嵌套实例需求: 四、for循环1、什么 是for循环2、语法3、执行流程4、for循环的基本使用5、range()函数6…...

安科瑞铁塔基站能耗监控解决方案
安科瑞 华楠 1 背景概述 5G发展,基站先行。5G基站的选址建设,是保证5G信号覆盖的基础,因此5G基站建设是5G产业布局的一部分,也是5G成熟的基础。 2G、3G、4G均是低频段信号传输,宏基站几乎能应付所有的信号覆盖。但由…...
操作系统-线程复用
操作系统执行线程复用的过程涉及到线程调度和管理。线程复用是指操作系统能够有效地重用现有的线程来执行新的任务,而不必每次都创建新线程。这有助于减少线程创建和销毁的开销,提高系统性能。下面是操作系统如何执行线程复用的关键步骤: 线程…...

通达信自定义副图行业指标K线指标 HYZS_QD
行业指数:HY_INDEXC,NODRAW; DRAWKLINE(HY_INDEXH,HY_INDEXO,HY_INDEXL,HY_INDEXC); MA5:MA(HY_INDEXC,5),COLORWHITE; {MA10:MA(HY_INDEXC,10),COLORYELLOW,LINETHICK2}; DRAWTEXT_FIX(1,1,1,1,STRCAT(STRCAT(CON2STR(HY_INDEXADV,0),/),STRCAT(CON2STR(HY_INDEXDEC,0), ))),…...

MDK-Keil AC6 Compiler屏蔽特定警告
最近在使用STM32CubeMX生成MDK工程是,使用了 AC6 版本的编译器进行编译代码,然后发现了一些警告,但是在 AC5 版本下编译又正常。于是研究了下怎么屏蔽特定的警告,这里记录一下。 1. Keil AC6屏蔽特定警告 遇到的警告如下&#x…...

计算机网络的故事——了解Web及网络基础
了解Web及网络基础 文章目录 了解Web及网络基础一、使用 HTTP 协议访问 Web二、HTTP 的诞生三、网络基础 TCP/IP四、与 HTTP 关系密切的协议 : IP、TCP 和 DNS 一、使用 HTTP 协议访问 Web 根据Web浏览器指定的URL,从对应的服务器中获取文件资源,从而显…...
[系统安全] 五十三.DataCon竞赛 (2)2022年DataCon涉网分析之恶意样本IOC自动化提取详解
您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列。因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全、逆向分析和恶意代码检测,“系统安全”系列文章会更加聚焦,更加系…...

自动驾驶——估计预瞄轨迹YawRate
1.Introduction 在ADAS控制系统中,通常根据预瞄距离x去估计横向距离y,有如下关系: y a0 a1 x a2 * x^2 a3 * x^3 ,那么现在有个需求,希望根据上述x和y的关系,去估计规划预瞄轨迹yawRate 2.How to es…...

PMP证书考下来要多少费用?
PMP考试共有三项费用:分为考前费用、考后费用和续证费用。 第一项是考前费用: 1、培训费用,在英文报名时需要填写培训公司名称和35学时的培训证明。一般的培训公司收费不一,有些公司大概是三千元左右,而有些公司可能…...

C动态分配
动态分布与静态发布: 静态分配 1、 在程序编译或运行过程中,按事先规定大小分配内存空间的分配方式。int a [10] 2、 必须事先知道所需空间的大小。 3、 分配在栈区或全局变量区,一般以数组的形式。 4、 按计划分配。 动态分配 1、在程序运…...

C语言——程序环境和预处理(再也不用担心会忘记预处理的知识)
了解程序环境和预处理 前言:一、程序环境二、编译链接2.1 翻译环境2.2 编译的几个阶段2.3 运行环境 三、预处理3.1 预定义符号3.2. #define的使用3.2.1 #define 定义标识符3.2.2 #define 定义宏3.2.3 #define 替换规则3.2.4 #和##的用途3.2.5 带副作用的宏参数3.2.6…...

Docker部署EMQX
1、简介 EMQ X (Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang/OTP 平台开发的开源物联网 MQTT 消息服务器。 Erlang/OTP是出色的软实时 (Soft-Realtime)、低延时 (Low-Latency)、分布式 (Distributed)的语言平台。 MQTT 是轻量的 (Lightweight)、发布订阅模式 (Pu…...
Spring Cloud(Finchley版本)系列教程(二) 客户端负载均衡Ribbon
Spring Cloud(Finchley版本)系列教程(二) 客户端负载均衡Ribbon 目前主流的负载均衡方案有两种,一种是集中式均衡负载,在消费者与服务提供者之间使用独立的代理方式进行负载,比如F5、Nginx等。另一种则是客户端自己做负载均衡,根据自己的请求做负载,Ribbon就属于客户端自…...

好玩的js特效
记录一些好玩的js特效 1、鱼跳跃特效 引入jquery:https://code.jquery.com/jquery-3.7.1.min.js 源码如下: <!--引入jquery--> <script src"https://code.jquery.com/jquery-3.7.1.min.js"></script> <!--引入跳跃源码--> <s…...
java实现带有html格式和附件的符合RFC822规范的eml格式的信件原文组装
1. 传递html格式的eml信件正文 html传递就是解析成带有< html>标签的字符串在正文中传递即可 From:综合运行平台 to:111qq.com // 重点是格式设置成text/html 编码的话需要设置成UTF-8,不然可能直接在正文中展示html标签,为不是解析成具体的样式…...

如何使用PyTorch训练LLM
推荐:使用 NSDT场景编辑器 快速搭建3D应用场景 像LangChain这样的库促进了上述端到端AI应用程序的实现。我们的教程介绍 LangChain for Data Engineering & Data Applications 概述了您可以使用 Langchain 做什么,包括 LangChain 解决的问题…...

uniapp 手机 真机测试 云打包 要是没申请 可以使用云打包 然后采用 测试权限即可
uniapp 手机 真机测试 打开手机 找到手机的 版本号 点击 知道提示 (启动开发者模式) 然后 在进行usb的连接打开 运行uniapp 到手机基台 手机确认 即可 四, 云打包 要是没申请 可以使用云打包 然后采用 测试权限即可...

RTSP流媒体服务器EasyNVR视频平台以服务方式启动异常却无报错,该如何解决?
EasyNVR是基于RTSP/Onvif协议的安防视频云服务平台,可实现设备接入、实时直播、录像、检索与回放、云存储、视频分发、级联等视频能力服务,可覆盖全终端平台(电脑、手机、平板等终端),在智慧工厂、智慧工地、智慧社区、…...

【List篇】使用Arrays.asList生成的List集合,操作add方法报错
早上到公司,刚到工位,测试同事就跑来说"功能不行了,报服务器异常了,咋回事";我一脸蒙,早饭都顾不上吃,要来了测试账号复现了一下,然后仔细观察测试服务器日志,发现报了一个…...

c++的类模板里,可以直接为静态变量赋值么?
一直以来,咱们学的是,给类模板里的静态变量赋值,要在类外面。但对于类常量,则可以直接在定义时赋值。起因是看STL源码时有这么的写法,又验证了一下。 但是在类模板里直接定义静态活动变量是不可以的,即去…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...

如何更改默认 Crontab 编辑器 ?
在 Linux 领域中,crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用,用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益,允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...

FFmpeg:Windows系统小白安装及其使用
一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践
作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现指南针功能
指南针功能是许多位置服务应用的基础功能之一。下面我将详细介绍如何在HarmonyOS 5中使用DevEco Studio实现指南针功能。 1. 开发环境准备 确保已安装DevEco Studio 3.1或更高版本确保项目使用的是HarmonyOS 5.0 SDK在项目的module.json5中配置必要的权限 2. 权限配置 在mo…...