《Python基础》之循环结构

目录

简介

一、for循环

1、基本语法与作用

2、使用 range() 函数配合 for 循环

3、嵌套的for循环

二、while循环

 1、基本语法与作用

2、while 循环嵌套

(1)、while循环与while循环嵌套

(2)、while循环与for循环嵌套


简介

在 Python 中,循环结构用于重复执行一段代码,主要包含两种类型:for 循环和 while 循环,以下是详细介绍

一、for循环

1、基本语法与作用

for 循环用于遍历可迭代对象(如列表、元组、字符串、字典、集合等)中的元素,其基本语法如下:

for 变量 in 可迭代对象:
    代码块

在每次循环时,可迭代对象中的一个元素会被依次赋值给 “变量”,然后执行缩进的 “代码块”,直到可迭代对象中的所有元素都被遍历完为止。

举例如下:

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

2、使用 range() 函数配合 for 循环

range() 函数常用于和 for 循环一起,用来生成指定范围的整数序列,它有几种常见的用法:

  • range(n):生成从 0 到 n - 1 的整数序列
for i in range(5):
    print(i)
  • range(start, stop):生成从 start 到 stop - 1 的整数序列
for i in range(2, 7):
    print(i)
  • range(start, stop, step):生成按照指定 “步长” step 从 start 到 stop - 1 的整数序列
for i in range(1, 10, 2):
    print(i)

3、嵌套的for循环

可以在一个 for 循环内部再嵌套另一个 for 循环,用于处理更复杂的多层迭代情况,比如遍历二维列表或者实现一些多层嵌套的逻辑。例如,遍历一个二维列表(列表的列表): 

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for row in matrix:
    for element in row:
        print(element, end=' ')
    print()

 外层的 for 循环先遍历二维列表中的每一行(也是一个列表),然后内层的 for 循环再遍历这一行中的每个元素,通过 end=' ' 让每个元素输出后以空格隔开,每遍历完一行后通过 print() 进行换行,最终输出整个二维列表中的所有元素,呈现出矩阵形式的输出效果。

4、for - else结构

for 变量1[,变量2,变量3....] in 可遍历序列:
    使用变量
else:
    语句体 # 当for循环正常结束的情况下,执行这里的else

当for循环正常结束的情况下,执行这里的else。如果有break打断了循环,else中的结构同样不会执行。 

二、while循环

 1、基本语法与作用

while 循环会在条件为 True 时,不断重复执行一段代码块,其基本语法如下:

while 条件表达式:
    代码块

每次执行代码块之前,都会先判断 “条件表达式” 的布尔值,如果为 True,则执行代码块;执行完代码块后,再次判断条件表达式,如此反复,直到条件表达式的值变为 False,循环才会停止。 

2、while 循环嵌套

(1)、while循环与while循环嵌套
while 条件表达式:
    while 条件表达式:
        代码块
(2)、while循环与for循环嵌套
while 条件表达式:
    for 变量 in 可遍历序列:
        代码块

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深入探索JMeter bin目录中的Properties文件:优化性能测试的关键

引言 在现代软件开发中,性能测试是确保应用质量和用户体验的重要环节。Apache JMeter作为一款流行的开源性能测试工具,提供了丰富的功能来模拟各种用户行为和负载情况。本文将深入探讨JMeter中的Properties(属性)功能&#xff0c…

第三十九篇 ShuffleNet V1、V2模型解析

摘要 ShuffleNet V1 ShuffleNet V1是由旷视科技(Megvii,又称Face)在2017年底提出的一种轻量级卷积神经网络架构。该网络专为移动设备和边缘计算环境设计,旨在以较低的计算资源实现高效的图像分类和其他计算机视觉任务。 特点与…

JavaScript练习——文本与图形

要求实现下面这个效果&#xff1a; 观察图片&#xff0c;我们的需求如下&#xff1a; 准备画布和上下文&#xff1a;在开始绘制之前&#xff0c;需要有一个HTML5 <canvas> 元素&#xff0c;并且获取其绘图上下文&#xff08;context&#xff09;&#xff0c;这是进行绘图…

[ubuntu]编译共享内存读取出现read.c:(.text+0x1a): undefined reference to `shm_open‘问题解决方案

问题log /tmp/ccByifPx.o: In function main: read.c:(.text0x1a): undefined reference to shm_open read.c:(.text0xd9): undefined reference to shm_unlink collect2: error: ld returned 1 exit status 程序代码 #include <stdio.h> #include <stdlib.h> #…

【redis】哈希类型详解

哈希类型详解 一、哈希类型的介绍二、哈希类型的常用命令2.1 HSET2.2 HGET2.3 HEXISTS2.4 HDEL2.5 HKEYS2.6 HAVLS2.7 HGETALL2.8 HMGET2.9 HLEN2.10 HSETNX2.11 HINCRBY2.12 HINCRBYFLOAT 三、哈希类型命令小结四、哈希类型内部编码五、哈希类型应用场景 一、哈希类型的介绍 …

单片机GPIO的8种工作模式

1、输入 GPIO_MODE_AIN:模拟输入 GPIO_MODE_IN_FLOATING:浮空输入 GPIO_MODE_IPD:下拉输入 GPIO_MODE_IPU:上拉输入 2、输出 GPIO_MODE_OUT_OD:开漏输出&#xff08;特殊情况使用&#xff09; GPIO_MODE_OUT_PP&#xff1a;推挽输出-----点灯&#xff08;通用&#…

YOLO-World解读:零基础学习开放世界模型

文章目录 一、摘要二、引言相关工作方法预训练公式模型架构可重新参数化的视觉-语言路径聚合网络&#xff08;RepVL-PAN&#xff09; 3.4 预训练方案 实验YOLO-World: 利用多样化数据集进行开放词汇对象检测的预训练方法YOLO-World: LVIS数据集上的零样本性能评估YOLO-World: 预…

深入理解下oracle 11g block组成

深层次说&#xff0c;oracle数据库的最少组成单位应该是块&#xff0c;一般默认情况下&#xff0c;oracle数据库的块大小是8kb&#xff0c;其中存储着我们平常所需的数据。我们在使用过程中&#xff0c;难免会疑问道&#xff1a;“oracle数据块中到底是怎样组成的&#xff0c;平…

《智慧教育实时数据分析推荐项目》详细分析

一、项目介绍 1、背景介绍 在互联网、移动互联网的带动下&#xff0c;教育逐渐从线下走向线上&#xff0c;在线教育近几年一直处于行业的风口浪尖&#xff0c;那随着基础设施的不断完善&#xff0c;用户需求也发生不少变化&#xff0c;因此传统教育机构、新兴互联网企业都在探…

stable-diffusion-webui 安装

一、安装 Python 3.11.8 (略) 二、下载stable-diffusion-webui cd E:\AITOOLS git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui 下载完成后&#xff1a; cd E:\AITOOLS\stable-diffusion-webui #运行 webui-user.bat 我们会发现要下载一下&#xff1a…

【Seed-Labs 2.0】The Kaminsky Attack Lab

说在前面 本实验属为Seed-Labs 的DNS LAB 中的第二个实验&#xff0c;是第一个实验的延伸&#xff0c;从攻击者和受害者同一个LAN中变成不在同一个LAN中&#xff0c;该系列一共有五个实验: Local DNS Attack LabThe Kaminsky Attack LabDNS Rebinding Attack LabDNS Infrastr…

类的实例化

文章目录 一、实例化2.1 实例化概念 一、实例化 2.1 实例化概念 用类类型在物理内存中创建对象的过程&#xff0c;称为类实例化出对象。 类是对象进行⼀种抽象描述&#xff0c;是⼀个模型⼀样的东西&#xff0c;限定了类有哪些成员变量&#xff0c;这些成员变量只是声明&…

《图像梯度与常见算子全解析:原理、用法及效果展示》

简介:本文深入探讨图像梯度相关知识&#xff0c;详细介绍图像梯度是像素灰度值在不同方向的变化速度&#xff0c;并以 “pig.JPG” 图像为例&#xff0c;通过代码展示如何选取图像部分区域并分析其像素值以论证图像梯度与边缘信息的关联。接着全面阐述了 Sobel 算子&#xff0c…

解决IDEA报包不存在,但实际存在的问题

前言 最近在把一个亿老项目交割给同事&#xff0c;同事在导入项目运行时遇到IDEA报包不存在&#xff0c;但实际存在的问题&#xff0c;最终通过以下方式解决 现象 在IDEA里启动运行项目&#xff0c;报某个类有问题&#xff0c;引入的包不存在。 点击这个引入的包&#xff0c;可…

C++(进阶) 第1章 继承

C&#xff08;进阶) 第1章 继承 文章目录 前言一、继承1.什么是继承2.继承的使用 二、继承方式1.private成员变量的&#xff08;3种继承方式&#xff09;继承2. private继承方式3.继承基类成员访问⽅式的变化 三、基类和派生类间的转换1.切片 四、 继承中的作⽤域1.隐藏规则&am…

resnet50,clip,Faiss+Flask简易图文搜索服务

一、实现 文件夹目录结构&#xff1a; templates -----upload.html faiss_app.py 前端代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widt…

SFP+光模块介绍

SFP光模块介绍 1 SFP光模块简介(Small Form -Factor Pluggable)2 光模块管脚定义 1 SFP光模块简介(Small Form -Factor Pluggable) 光模块&#xff08;Optical Module&#xff09;由光电子器件、功能电路和光接口等组成&#xff0c;光电子器件包括激光发射器(Laser Transmitte…

Redis——Raft算法

Raft使用较为广泛的强一致性、去中心化、高可用的分布式协议&#xff0c;即使在网络、节点故障等情况下&#xff0c;多个节点依然能达到一致性。 其中redis、etcd等都用到了这种算法 在Redis集群中&#xff0c;采取的主从复制结构&#xff0c;当主节点宕机后&#xff0c;哨兵会…

【网络系统管理】2023年全国职业院校技能大赛:组策略--10套题组合--3

11、阻止Microsoft账户登录 (1)计算机配置\策略\Windows设置\安全设置\本地策略\安全选项 12、允许更改系统时间 (1)计算机配置\策略\Windows设置\安全设置\本地策略\用户权限分配 13、可以登录本机的用户 (1)计算机配置\策略\Windows设置\安全设置\本地策略\用户权限…

Glide源码学习

前言 开始 基本使用非常简单&#xff0c;链式调用把context对象传入&#xff0c;设置要加载的URL&#xff0c;设置要填充的ImageView控件&#xff0c;方法很简洁&#xff0c;每次都是传入的最核心的参数&#xff0c;底层加载的缓存逻辑&#xff0c;加载的引擎&#xff0c;加载…