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…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...
基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...
