Python的顺序结构和循环结构
文章目录
- 一、条件语句
- (1)条件语句的定义
- (2)条件语句的语法
- (a)单分支 if
- (b)双分支 if-else
- (c)多分支 if-elif-elif-...-else
- (3)注意事项
- (4)空语句 pass
- (5)示例
- 二、循环语句
- (1)循环语句的定义
- (2) while 循环
- (a) 语法
- (b)示例
- (3) range 函数
- (a) 语法
- (b)示例
- (4) for 循环
- (a) 语法
- (b)示例
- (5)continue语句
- 示例
- (6)break语句
- 示例
- END
一、条件语句
(1)条件语句的定义
条件语句能够表达 “如果 … 否则 …” 这样的语义. 这构成了计算机中基础的 逻辑判定。
条件语句 也叫做 分支语句, 表示了接下来的逻辑可能有几种走向。
(2)条件语句的语法
(a)单分支 if
if expression:do_something1do_something2
next_something
如果
expression
值为True
, 则执行do_something1, do_something2,next_something;
如果expression
值为False
, 则只执行next_something,
不执行do_something1, do_something2
。
(b)双分支 if-else
if expression:do_something1
else:do_something2
如果
expression
值为True
, 则执行do_something1
;
如果expression
值为False
, 则执行do_something2
。
(c)多分支 if-elif-elif-…-else
if expression1:do_something1
elif expression2:do_something2
else:do_something3
如果
expression1
值为True
, 则执行do_something1
;
如果expression1
值为False
, 并且expression2
为True
则执行do_something2
;
如果expression1
值为False
, 并且expression2
为False
则执行do_something3
。
(3)注意事项
if
后面的条件表达式, 没有 ( ), 使用:
(英文状态下的冒号) 作为结尾.if / else
命中条件后要执行的 “语句块”, 使用 缩进 (通常是 4 个空格或者 1 个 tab)来表示, 而不是{ }
- 对于多条件分支, 不是写作
else if,
而是elif
(合体了).
(4)空语句 pass
输入一个数字, 如果数字为 1, 则打印 hello
# 提示用户输入一个整数,并使用int()函数将输入的字符串转换为整数
a = int(input("请输入一个整数:"))# 使用if语句判断输入的整数是否等于1
if a == 1:# 如果输入的整数等于1,打印消息"hello"print("hello")
这个代码也可以等价写成
# 提示用户输入一个整数,并使用int()函数将输入的字符串转换为整数
a = int(input("请输入一个整数:"))# 使用if-else语句判断输入的整数是否不等于1
if a != 1:# 如果输入的整数不等于1,使用pass语句,表示什么也不做pass
else:# 如果输入的整数等于1,打印消息"hello"print("hello")
其中
pass
表示 空语句, 并不会对程序的执行有任何影响, 只是占个位置, 保持Python
语法格式符合要求。
(5)示例
# 输入 1 表示愿意认真学习, 输入 2 表示躺平摆烂
choice = input("输入 1 表示认真学习, 输入 2 表示躺平摆烂: ")
if choice == "1":print("你会找到好工作!")
elif choice == "2":print("你可能毕业就失业了!")
else:print("你的输入有误!")
二、循环语句
(1)循环语句的定义
在Python
中,循环语句是用来重复执行一段代码多次的一种控制流结构。最常用的是for
循环和while
循环。
(2) while 循环
(a) 语法
while 条件:循环体
- 条件为真, 则执行循环体代码.
- 条件为假, 则结束循环。
(b)示例
计算 1-100 的和
# 初始化变量,用于存储累加的总和
theSum = 0
# 初始化变量,用于表示当前的数字,从1开始
num = 1# 使用while循环,当num小于或等于100时,继续执行循环
while num <= 100:# 将当前的num值加到theSum中,实现累加theSum += num# 将num的值加1,准备下一次循环num += 1# 循环结束后,打印最终累加的结果
print(f'theSum = {theSum}')
运行截图:
求 1! + 2! + 3! + 4! + 5!
# 初始化变量num,从1开始,表示当前要计算阶乘的数字
num = 1
# 初始化变量sum,用于存储累加的阶乘结果
sum = 0# 外层while循环:当num小于或等于5时,继续执行循环
while num <= 5:# 初始化变量factorResult,用于存储当前数字num的阶乘结果factorResult = 1# 初始化变量i,用于计算阶乘时的循环控制i = 1# 内层while循环:计算当前数字num的阶乘while i <= num:# 将i的值乘到factorResult中,逐步计算阶乘factorResult *= i# 将i的值加1,准备下一次循环i += 1# 将计算得到的阶乘结果factorResult累加到sum中sum += factorResult# 将num的值加1,准备计算下一个数字的阶乘num += 1# 在所有计算完成后,打印最终的sum值
print(sum)
(3) range 函数
(a) 语法
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)。
(b)示例
range(10) # 从 0 开始到 9
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]range(1, 11) # 从 1 开始到 10
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]range(0, 30, 5) # 步长为 5
[0, 5, 10, 15, 20, 25]range(0, 10, 3) # 步长为 3
[0, 3, 6, 9]range(0, -10, -1) # 负数
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
(4) for 循环
(a) 语法
for 循环变量 in 可迭代对象:循环体
注意:
所谓的 “可迭代对象”, 指的是 “内部包含多个元素, 能一个一个把元素取出来的特殊变量”。
(b)示例
打印 2, 4, 6, 8, 10
for i in range(2, 12, 2):print(i)
运行截图:
(5)continue语句
continue
表示结束这次循环,进入下次循环。
示例
# 使用for循环遍历从1到5的数字(不包括6)
for i in range(1, 6):# 在循环中,检查当前的数字i是否等于3if i == 3:# 如果i等于3,使用continue语句跳过当前循环的剩余部分,直接进入下一次循环continue# 如果i不等于3,打印当前的数字i,并附带一条消息print(f"吃完第{i}个包子")
运行截图:
(6)break语句
break
表示结束整个循环。
示例
# 使用for循环遍历从1到5的数字(不包括6)
for i in range(1, 6):# 在循环中,检查当前的数字i是否等于3if i == 3:# 如果i等于3,使用break语句提前终止循环break# 如果i不等于3,打印当前的数字i,并附带一条消息print(f"吃完第{i}个包子")
运行截图:
END
每天都在学习的路上!
On The Way Of Learning
相关文章:

Python的顺序结构和循环结构
文章目录 一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(c)多分支 if-elif-elif-...-else (3)注意事…...
深入浅出TypedArray:网络数据处理、WebGPU与加密实战
JavaScript的TypedArray是现代Web开发中处理二进制数据的利器。本文将结合网络数据传输、WebGPU编程和简单加密算法三个实战场景,带你领略TypedArray的强大能力。 一、TypedArray基础认知 TypedArray家族包括Int8Array、Uint16Array、Float32Array等11种视图类型&a…...

http 响应码影响 video 标签播放视频
背景 使用后端给的文件下载接口地址实现视频播放,但是 video 标签一直无法播放视频如下图,把接口地址放到浏览器请求能直接下载。但就是不能播放 原因 http 响应码不正确,返回201是无法播放视频200可以如下图 状态码的影响: 20…...
观察者模式原理详解以及Spring源码如何使用观察者模式?
前言 首先说明观察者模式,观察者模式,也叫发布-订阅模式,应该是用来处理对象间的一对多依赖关系的。当被观察者的状态变化时,所有依赖它的观察者都会得到通知并自动更新。 观察者模式的结构,通常包括Subject࿰…...

【Spring】Spring配置文件
目录 什么是配置文件? 配置文件的作用 SpringBoot配置文件 配置文件格式 配置文件的优先级 properties配置文件说明 properties基本语法 读取配置文件 properties缺点 yml配置文件说明 yml基本语法 使用yml连接数据库 yml配置不同数据类型及null 注意…...

MSI微星电脑冲锋坦克Pro Vector GP76 12UGS(MS-17K4)原厂Win11系统恢复镜像,含还原功能,预装OEM系统下载
适用机型:【MS-17K4】 链接:https://pan.baidu.com/s/1P8ZgXc6S_J9DI8RToRd0dQ?pwdqrf1 提取码:qrf1 微星笔记本原装出厂WINDOWS11系统自带所有驱动、出厂主题壁纸、系统属性专属联机支持标志、Office办公软件、MSI Center控制中心等预装…...

Unity合批处理优化内存序列帧播放动画
Unity合批处理序列帧优化内存 介绍图片导入到Unity中的处理Unity中图片设置处理Unity中图片裁剪 创建序列帧动画总结 介绍 这里是针对Unity序列帧动画的优化内容,将多个图片合批处理然后为了降低Unity的内存占用,但是相对的质量也会稍微降低。可自行进行…...

【Java】逻辑运算符详解:、|| 与、 | 的区别及应用
博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: Java 文章目录 💯前言💯一、基本概念与运算符介绍💯二、短路与与非短路与:&& 与 & 的区别1. &&:短路与(AND)2. …...
深入解析 Flutter GetX
深入解析 Flutter GetX:从原理到实战 GetX 是 Flutter 中一个轻量级且功能强大的状态管理、路由管理和依赖注入框架。它以简单、快速、高效著称,适合从小型到大型项目的开发需求。GetX 的设计理念是一体化解决方案,通过一个框架解决状态管理…...

Java 大视界 -- 人才需求与培养:Java 大数据领域的职业发展路径(92)
💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…...

顺序表常用操作和笔试题
1、顺序表的常用操作 1.1 顺序表的创建 如下代码所示:创建了一个默认空间为10的整型顺序表,如果空间不足则会以1.5倍扩容。 List<Integer> list new ArrayList<>(); 创建一个空间为15的整型顺序表 List<Integer> list2 new ArrayL…...
List<Map<String, Object>> 如何对某个字段求和
在Java中,如果你有一个List<Map<String, Object>>的结构,并且你想要对某个特定字段进行求和,你可以使用Java 8的Stream API来简化这个过程。下面是一个示例代码,演示如何对某个字段进行求和。 假设你有一个List<M…...
2024亚马逊数据分析!
整体财务数据23 净销售额:全年净销售额达 6380 亿美元,同比增长 11%。 净利润:全年净利润为 592 亿美元,较上年同期的 304 亿美元增长 95%。 经营活动现金流:经营活动现金流达 1159 亿美元,同比增加了 36…...

foobar2000设置DSP使用教程及软件推荐
foobar2000安卓中文版:一款高品质手机音频播放器 foobar2000安卓中文版是一款备受好评的高品质手机音频播放器。 几乎支持所有的音频格式,包括 MP3、MP4、AAC、CD 音频等。不论是经典老歌还是最新的流行音乐,foobar2000都能完美播放。除此之…...
Apache Logic4j 库反序列化漏洞复现与深度剖析
前言 在渗透测试领域,反序列化漏洞一直是安全研究人员和攻击者关注的焦点。今天,我们将深入探讨 Apache Logic4j 库中的反序列化漏洞,详细了解其原理,并进行完整的复现演示。 一、漏洞原理 Apache Logic4j 库在处理对象的反序列…...

FPGA VIVADO:axi-lite 从机和主机
FPGA VIVADO:axi-lite 从机和主机 TOC在这里插入代码片 前言 协议就不详细讲解了,直接看手册即可。下面主要如何写代码和关键的时序。 此外下面的代码可以直接用于实际工程 一、AXI-LITE 主机 数据转axi lite接口: 读/写数据FIFO缓存 仲裁:…...

LabVIEW 中的 3dgraph.llb库
3dgraph.llb 库位于C:\Program Files (x86)\National Instruments\LabVIEW 2019\vi.lib\Platform目录下,是 LabVIEW 系统里用于 3D 图形相关操作的关键库。它为 LabVIEW 用户提供众多功能,可在应用程序内创建、显示和交互各类 3D 图形,极大增…...

【Linux】文件系统:文件fd
🔥个人主页:Quitecoder 🔥专栏:linux笔记仓 目录 01.回顾C文件接口02.系统文件I/O02.1 openflags 参数(文件打开模式)标记位传参1. 访问模式(必须指定一个)2. 额外控制标志…...
Vue学习记录19
TransitonGroup <TransitionGroup> 是一个内置组件,用于对 v-for 列表中的元素或组件的插入、移除和顺序改变添加动画效果。 和 <Transtion> 的区别 <TranstionGroup> 支持和 <Transtion> 基本相同的 props、CSS过渡 class 和 JavaScript…...

MATLAB更改图论的布局:设置layout
在图论那一章,我们讲过最小生成树和单源最短路径(见:从零开始学数学建模): 以最短路径那节课为例,把绘图pplot那部分代码写为: % plot绘图有很多参数可以设置,使图尽量美观 P plot…...

UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...

UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...

【Linux系统】Linux环境变量:系统配置的隐形指挥官
。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...

解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
在工业制造领域,无损检测(NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统,以非接触式光学麦克风技术为核心,打破传统检测瓶颈,为半导体、航空航天、汽车制造等行业提供了高灵敏…...
适应性Java用于现代 API:REST、GraphQL 和事件驱动
在快速发展的软件开发领域,REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名,不断适应这些现代范式的需求。随着不断发展的生态系统,Java 在现代 API 方…...