网页和网站的区别/站长素材音效下载

网页和网站的区别,站长素材音效下载,个人做网站需要什么条件,大创网你好,我是安然无虞。 文章目录 1. while循环1.1 while循环的嵌套1.2 补充学习:print函数 2. for循环2.1 range函数2.2 for循环2.3 continue和break以及return2.4 for循环的嵌套 3. 补充学习3.1 enumerate函数3.2 zip函数3.3 不要在遍历列表的过程中删除元素 循环 是…

在这里插入图片描述

你好,我是安然无虞。

文章目录

    • 1. while循环
      • 1.1 while循环的嵌套
      • 1.2 补充学习:print函数
    • 2. for循环
      • 2.1 range函数
      • 2.2 for循环
      • 2.3 continue和break以及return
      • 2.4 for循环的嵌套
    • 3. 补充学习
      • 3.1 enumerate函数
      • 3.2 zip函数
      • 3.3 不要在遍历列表的过程中删除元素

在这里插入图片描述

循环 是编程语言常见的一种流程控制

所谓循环 就是反复的执行一段代码

我们人类语言要让别人反复的做一些事,可以这样说: 请你一直怎样怎样,或者请你反复怎样怎样

Python语言要让计算机反复的做一些事 就要使用循环语句

Python中有两种类型的循环: while 循环 和 for 循环

1. while循环

while循环 是: 检查一个条件表达式,只要条件表达式计算结果为True 时, 就执行下面缩进的代码

如此反复,直到条件表达式计算结果为False时,结束 循环

while循环的基本语法:

while 条件:条件满足时,做的事情1条件满足时,做的事情2passi = 0# 冒号和缩进不要忘了.# 当条件的运算结果为True的时候, 会运行while代码块下的代码.# 若while后的条件一直为True, 则会一直循环运行while代码块下的代码.# 若为False, 则表示结束循环.# 所以需要设置循环终止的条件,否则将进入无限循环.

案例:

 *******************************************************# 打印这样的一个高为10的直角三角形.i = 1while i <= 10:print('*' * i)i += 1

对于while循环的使用需要当心死循环, 所以需要注意循环条件.

1.1 while循环的嵌套

当我们需要在while循环内执行另一个循环时,我们可以使用while循环嵌套的形式

while循环嵌套的基本语法

 while 条件1:条件1满足时,做的事情1条件1满足时,做的事情2passwhile 条件2:条件2满足时,做的事情1条件2满足时,做的事情2pass# 第一个while循环将重复执行内部代码块,直到条件1不再满足为止。在内部代码块中,我们有另一个while循环,它将重复执行内部代码块,直到条件2不再满足为止。这种嵌套的循环结构可以用于处理许多问题.# 需要注意的是,在使用嵌套循环时,我们需要仔细考虑内部和外部循环之间的交互,以确保程序能够正确地执行。另外,需要注意的是,循环嵌套可能会导致程序的执行速度变慢,因此我们应该尽可能地避免不必要的循环嵌套.

案例1: 打印99乘法表

 1x1=1	1x2=2	2x2=4	1x3=3	2x3=6	3x3=9	1x4=4	2x4=8	3x4=12	4x4=16	1x5=5	2x5=10	3x5=15	4x5=20	5x5=25	1x6=6	2x6=12	3x6=18	4x6=24	5x6=30	6x6=36	1x7=7	2x7=14	3x7=21	4x7=28	5x7=35	6x7=42	7x7=49	1x8=8	2x8=16	3x8=24	4x8=32	5x8=40	6x8=48	7x8=56	8x8=64	1x9=9	2x9=18	3x9=27	4x9=36	5x9=45	6x9=54	7x9=63	8x9=72	9x9=81
 """1x1=11x2=2	2x2=41x3=3	2x3=6	3x3=91x4=4	2x4=8	3x4=12	4x4=161x5=5	2x5=10	3x5=15	4x5=20	5x5=251x6=6	2x6=12	3x6=18	4x6=24	5x6=30	6x6=361x7=7	2x7=14	3x7=21	4x7=28	5x7=35	6x7=42	7x7=491x8=8	2x8=16	3x8=24	4x8=32	5x8=40	6x8=48	7x8=56	8x8=641x9=9	2x9=18	3x9=27	4x9=36	5x9=45	6x9=54	7x9=63	8x9=72	9x9=81
"""# 1. 外部循环 ✖右边是外部循环# 2. 内部循环 ✖左边是内部循环i = 1while i <= 9:j = 1while j <= i:print(f'{j}x{i}={j*i}', end='\t')j += 1print('')i += 1

1.2 补充学习:print函数

系统方法print的定义:

def print(self, *args, sep=' ', end='\n', file=None):pass

默认情况下调用print()方法会自动换行,因为参数end的缺省值是'\n'
比如:

print('hello world')

`如果想要指定结尾的表现,可以修改参数end的取值``,比如设置为空就和C语言中的printf函数一样了,不会默认换行

print('hello world', end='')

2. for循环

2.1 range函数

在学习for循环之前, 先来学习range语句. 这是一个最常与for循环一起用的语句.

语法:

 range(start, stop[, step])

参数说明:

  • start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
  • stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
  • step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

2.2 for循环

在python中, 除了while循环语句, 还提供了另外一种循环: for循环语句. 也叫做遍历.

语法:

 for 临时变量 in 序列(可迭代对象):# for循环体的代码块# for循环中定义了一个临时变量,那么在整个循环体中都可以使用这个变量,包括循环体内部的if语句或者嵌套的循环, 但是在for循环的循环体外就不要使用此临时变量了.

for循环是一种常见的迭代结构, 用于遍历序列中的元素, 在python中, for循环可以用于遍历列表, 元组, 字符串, 字典, 集合等容器类型中的元素, 并将这些元素逐一赋值给循环中的临时变量. 然后执行特定的操作, 循环会一直重复执行, 直到序列中的所有元素都被遍历完成. 对于序列中的每个元素, 都会执行一次循环体中的代码块.

for循环通常有一个循环变量, 一个序列,和一个代码块组成, 循环变量用于存储当前迭代的元素, 序列是要遍历的容器类型, 代码块则是在每个迭代步骤中要执行的操作, 在每个迭代步骤中, 循环变量都会被赋值为序列中的下一个元素, 然后执行代码块. 当序列中的所有元素都被遍历完成后, 循环结束.

for循环简单易懂, 代码结构清晰, 可读性强, 是一种高效的可靠的循环结构.

for循环和while循环两者能完成的功能差不多.

但是也是有区别的:

  1. for循环用于遍历序列(例如列表、元组、字符串等)或其他可迭代对象,并且在每次迭代中,都会将序列中的一个元素赋值给循环变量,直到序列中的所有元素都被遍历完毕,循环结束. while循环则用于在条件为真时执行一段代码块,直到条件为假为止.
  2. for循环不需要显式地计数器变量,也不需要显式地定义循环条件,因为循环变量会自动遍历整个序列.而while循环则需要显式地定义循环条件,并在代码块内控制循环计数器的更新.

总之,for循环适用于已知数量的序列或可迭代对象的遍历,而while循环适用于未知数量的循环执行,需要手动控制循环计数器和条件.

2.3 continue和break以及return

continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环.

break用来跳出整个循环

很多初学者,经常会搞不清 break 和 return的区别
首先, return 只能用在函数里面, 表示 从函数中返回
代码主体部分是不能用return的

比如,下面的代码执行起来就会报错

while True:command = input("请输入命令:")if command == 'exit':returnprint(f'输入的命令是{command}')print('程序结束')

提示:

SyntaxError: 'return' outside function

因为 return 是表示从函数中返回,它 是不能用在 函数外面的

函数中的循环体内的代码, 使用 return 和 break 都可以从循环中跳出
但是,break 只是 跳出循环, 如果循环后面还有代码, 会进行执行,如下

def inputCommand():while True:command = input("请输入命令:")if command == 'exit':breakprint(f'输入的命令是{command}')print('末尾语句')inputCommand()

执行该函数,输入 exit 发现,还会打印出 末尾语句 这句话

return 则会从函数里面立即返回, 函数体内的后续任何代码都不执行了,我们把上面的代码中的break 换成return, 如下

def inputCommand():while True:command = input("请输入命令:")if command == 'exit':returnprint(f'输入的命令是{command}')print('末尾语句')inputCommand()

执行该函数,输入 exit 发现,就不会打印出 末尾语句 这句话.

2.4 for循环的嵌套

语法:

 for 临时变量1 in 序列1(可迭代对象):# for循环体的代码块# for循环体的代码块# for循环体的代码块for 临时变量2 in 序列2(可迭代对象):# for循环体的代码块# for循环体的代码块# for循环体的代码块for i in range(10):print(f"外层循环i:{i}")for j in range(10):print(f"内层循环j:{j}")

注意点:

continue和break在嵌套循环中, 只对当前循环起作用.

 for i in range(10):print(f"外层循环i:{i}")for j in range(10):print(f"内层循环j:{j}")breakprint(f'哈哈哈哈{i}')

3. 补充学习

3.1 enumerate函数

有的时候, 在使用for循环从列表或者元组中遍历元素的时候, 除了要获取每个元素, 还需要得到每个元素在列表元组里面的索引.

enumerate() 执行之后每次迭代都会返回一个元组, 元组里面有两个元素, 依次是元素的索引和元素本身

比如, 找出下面列表中年龄大于17岁的学员, 打印出他们在列表中的索引:

studentAges = ['小王:17', '小赵:16', '小李:18', '小孙:16', '小徐:18']

这时候可以使用 enumerate 函数, 像下面这样:

studentAges = ['小王:17', '小赵:16', '小李:18', '小孙:16', '小徐:18']# enumerate(studentAges) 执行之后每次迭代返回一个元组
# 元组里面有两个元素, 依次是元素的索引和元素本身
for idx, student in enumerate(studentAges):if int(student.split(':')[-1]) > 17:print(idx)

3.2 zip函数

Python中有个内置函数zip, 常用来依次组合多个列表或者元组, 将里面相同索引的数据放入一组, 方便循环使用

比如:

names    = ['张三', '李四', '王五']  # 姓名
salaries = [18000, 11000, 15000]   # 对应薪资name_salary = zip(names, salaries)for name, salary in name_salary:print(name, salary)

运行结果是:

张三 18000
李四 11000
王五 15000

如果,两个列表里面元素个数不相等, zip以少的那个为准,比如:

names    = ['张三', '李四', '王五']  # 姓名
salaries = [18000, 11000]   # 对应薪资,少一个name_salary = zip(names, salaries)for name, salary in name_salary:print(name, salary)

运行结果是:

张三 18000
李四 11000

3.3 不要在遍历列表的过程中删除元素

看下面这段代码,把列表中值为 4 的元素删除

list1 = [ 4, 4, 1, 2]for idx, num in enumerate(list1):if num == 4:list1.pop(idx)print(list1)

运行结果是:

[4, 1, 2]

因为遍历过程中删除一个元素,使得列表的长度发生了变化,后面的元素索引被提前了,就会跳过一个元素

所以遍历 列表(包括后面要学习的字典)时, 不要在过程中删除元素
可以新建一个列表,这样:

list1 = [ 4, 4, 1, 2]list2 = []for idx, num in enumerate(list1):if num != 4:list2.append(num)print(list2)
遇见安然遇见你,不负代码不负卿。
谢谢老铁的时间,咱们下篇再见~

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

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

相关文章

c#难点整理

1.何为托管代码&#xff0c;何为非托管代码 托管代码就是.net框架下的代码 非托管代码&#xff0c;就是非.net框架下的代码 2.委托的关键知识点 将方法作为参数进行传递 3.多维数组 4.锯齿数组 5.多播委托的使用 6.is运算符 相当于逻辑运算符是 7.as 起到转换的作用 8.可…

数据结构之栈的2种实现方式(顺序栈+链栈,附带C语言完整实现源码)

对于逻辑关系为“一对一”的数据&#xff0c;除了用顺序表和链表存储外&#xff0c;还可以用栈结构存储。 栈是一种“特殊”的线性存储结构&#xff0c;它的特殊之处体现在以下两个地方&#xff1a; 1、元素进栈和出栈的操作只能从一端完成&#xff0c;另一端是封闭的&#xf…

Jmeter旧版本如何下载

1.Jmeter最新版本下载位置 https://jmeter.apache.org/download_jmeter.cgi2.Jmeter旧版本下载位置 https://archive.apache.org/dist/jmeter/binaries稳定版本&#xff1a;5.4.1

css-grid布局

文章目录 1、布局2、网格轨道3、间距Gap4、网格线5、网格别名 当一个 HTML 元素将 display 属性设置为 grid 或 inline-grid 后&#xff0c;它就变成了一个网格容器&#xff0c;这个元素的所有直系子元素将成为网格元素。 1、布局 启用grid布局类似与flex布局&#xff0c;不过g…

SolidWorks使用显卡教程

操作步骤&#xff1a; 打开注册表编辑器 按下键盘上的 Win R 组合键&#xff0c;输入 regedit 并按回车键&#xff0c;打开注册表编辑器。 导航到显卡信息路径 在注册表中依次展开以下路径&#xff1a; plaintext HKEY_CURRENT_USER\Software\SolidWorks\SOLIDWORKS 2021\Per…

【C++11】左值引用、右值引用、移动语义和完美转发

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:C ⚙️操作环境:Visual Studio 2022 目录 &#x1f4cc;左值引用和右值引用 &#x1f38f;左值和左值引用 &#x1f38f;右值和右值引用 &#x1f4cc;左值引用和右值引用比较 &#x1f38f;左值引用 &#x1f38f;右值…

【机密计算顶会解读】11:ACAI——使用 Arm 机密计算架构保护加速器执行

导读&#xff1a;本文介绍ACAI&#xff0c;其构建一个基于CCA的解决方案&#xff0c;使得机密虚拟机能够安全地使用加速器&#xff0c;同时保持与现有应用程序的兼容性和安全性&#xff0c;能够实现对加速器的安全访问。 原文链接&#xff1a;ACAI: Protecting Accelerator Ex…

【Java SE】抽象类/方法、模板设计模式

目录 1.抽象类/方法 1.1 基本介绍 1.2 语法格式 1.3 使用细节 2. 模板设计模式&#xff08;抽象类使用场景&#xff09; 2.1 基本介绍 2.2 具体例子 1.抽象类/方法 1.1 基本介绍 ① 当父类的某些方法&#xff0c;需要声明&#xff0c;但是又不确定如何实现时&#xff…

深度学习:从零开始的DeepSeek-R1-Distill有监督微调训练实战(SFT)

原文链接&#xff1a;从零开始的DeepSeek微调训练实战&#xff08;SFT&#xff09; 微调参考示例&#xff1a;由unsloth官方提供https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Qwen2.5_(7B)-Alpaca.ipynbhttps://colab.research.google.com/git…

流畅如丝:利用requestAnimationFrame优化你的Web动画体验

requestAnimationFrame 是前端开发中用于优化动画性能的 API。它允许浏览器在下一次重绘之前执行指定的回调函数&#xff0c;通常用于实现平滑的动画效果。 1.作用 优化性能&#xff1a;requestAnimationFrame 会根据浏览器的刷新率&#xff08;通常是 60Hz&#xff0c;即每秒…

【pytest框架源码分析五】pytest插件的注册流程

前文介绍到pytest整体是运用插件来实现其运行流程的。这里仔细介绍下具体过程。 首先进入main方法 def main(args: list[str] | os.PathLike[str] | None None,plugins: Sequence[str | _PluggyPlugin] | None None, ) -> int | ExitCode:"""Perform an i…

IoTDB日志提示Too many open files

问题 时序数据库 IoTDB 1.3.3 版本 IoTDB 执行查询操作失败&#xff0c;日志打印提示 Too many open files。通过命令查看打开文件数&#xff0c;结果如下&#xff1a; [root0002 DataReceiver]# lsof|grep 28347|wc -l DataNode 55444 [root0002 DataReceiver]# lsof|g…

prometheus 添加alertmanager添加dingtalk机器人告警

1、dingtalk创建机器人,目前我们采用加白名单的方式校验 2、定位到如下图 test结果如下

C 语 言 --- 操 作 符 2

C 语 言 --- 操 作 符 2 移 位 操 作 符定 义原 码 补 码 和 反 码左 移&#xff08;<<&#xff09;右 移&#xff08;>>&#xff09;算 术 右 移逻 辑 右 移 按 位 与、按 位 或、和 按 位 异 或按 位 与按 位 或按 位 异 或 逻 辑 反 操 作负 值 操 作按 位 取 反…

基于Spring Boot的公司资产网站的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

零碳工厂能源管理系统的核心技术与应用实践

零碳工厂能源管理系统是一种高效的解决方案&#xff0c;旨在优化能源使用并减少碳排放&#xff0c;以帮助工厂实现低碳或零碳的生产目标。以下是该系统的详细构成和功能&#xff1a; 1. 核心组件 传感器和监测设备&#xff1a;用于实时监测工厂内的能源使用情况&#xff0c;包…

美摄接入DeepSeek等大模型,用多模态融合重构视频创作新边界!

今年以来&#xff0c;DeepSeek凭借其强大的深度推理分析能力&#xff0c;在AI领域掀起新的热潮。美摄科技快速响应市场需求&#xff0c;迅速接入以DeepSeek、通义千问、商汤、文心一言为代表的大模型&#xff0c;为企业视频创作生产带来全新体验。 传统视频创作面临着同质化、…

【yolo】yolo训练报错,以及解决方案

背景&#xff1a; 刚刚&#xff0c;写了《【yolo】yolo推理报错&#xff0c;以及解决方案》&#xff0c;马上训练就遇到类似的报错。 我对我标注的图像进行了300轮的训练&#xff0c;但是训练完300轮后&#xff0c;报错了。。。 报错信息 300 epochs completed in 0.085 hou…

理解线性动力学中的模态叠加法

线性动力学中的模态叠加方法 模态叠加法是线性动力学中一种有价值的工具&#xff0c;可以有效地确定频域或时域中的系统响应。对于某些类型的线性动力学分析&#xff0c;有必要使用此方法&#xff0c;因此了解该过程对于获得准确的结果至关重要。在本博客中&#xff0c;我们将…

报错 - redis - Unit redis.service could not be found.

报错&#xff1a; Unit redis.service could not be found.Could not connect to Redis at 127.0.0.1:6379: Connection refused解决方法&#xff1a; 检查状态、有必要的话 重新安装 Linux 上查看状态 systemctl status redis显示以下内容&#xff0c;代表正常服务 出现下面…