当前位置: 首页 > news >正文

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, 并且 expression2True执行 do_something2
如果 expression1 值为 False, 并且 expression2False执行 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的顺序结构和循环结构

文章目录 一、条件语句&#xff08;1&#xff09;条件语句的定义&#xff08;2&#xff09;条件语句的语法&#xff08;a&#xff09;单分支 if&#xff08;b&#xff09;双分支 if-else&#xff08;c&#xff09;多分支 if-elif-elif-...-else &#xff08;3&#xff09;注意事…...

深入浅出TypedArray:网络数据处理、WebGPU与加密实战

JavaScript的TypedArray是现代Web开发中处理二进制数据的利器。本文将结合网络数据传输、WebGPU编程和简单加密算法三个实战场景&#xff0c;带你领略TypedArray的强大能力。 一、TypedArray基础认知 TypedArray家族包括Int8Array、Uint16Array、Float32Array等11种视图类型&a…...

http 响应码影响 video 标签播放视频

背景 使用后端给的文件下载接口地址实现视频播放&#xff0c;但是 video 标签一直无法播放视频如下图&#xff0c;把接口地址放到浏览器请求能直接下载。但就是不能播放 原因 http 响应码不正确&#xff0c;返回201是无法播放视频200可以如下图 状态码的影响&#xff1a; 20…...

观察者模式原理详解以及Spring源码如何使用观察者模式?

前言 首先说明观察者模式&#xff0c;观察者模式&#xff0c;也叫发布-订阅模式&#xff0c;应该是用来处理对象间的一对多依赖关系的。当被观察者的状态变化时&#xff0c;所有依赖它的观察者都会得到通知并自动更新。 观察者模式的结构&#xff0c;通常包括Subject&#xff0…...

【Spring】Spring配置文件

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

MSI微星电脑冲锋坦克Pro Vector GP76 12UGS(MS-17K4)原厂Win11系统恢复镜像,含还原功能,预装OEM系统下载

适用机型&#xff1a;【MS-17K4】 链接&#xff1a;https://pan.baidu.com/s/1P8ZgXc6S_J9DI8RToRd0dQ?pwdqrf1 提取码&#xff1a;qrf1 微星笔记本原装出厂WINDOWS11系统自带所有驱动、出厂主题壁纸、系统属性专属联机支持标志、Office办公软件、MSI Center控制中心等预装…...

Unity合批处理优化内存序列帧播放动画

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

【Java】逻辑运算符详解:、|| 与、 | 的区别及应用

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: Java 文章目录 &#x1f4af;前言&#x1f4af;一、基本概念与运算符介绍&#x1f4af;二、短路与与非短路与&#xff1a;&& 与 & 的区别1. &&&#xff1a;短路与&#xff08;AND&#xff09;2. …...

深入解析 Flutter GetX

深入解析 Flutter GetX&#xff1a;从原理到实战 GetX 是 Flutter 中一个轻量级且功能强大的状态管理、路由管理和依赖注入框架。它以简单、快速、高效著称&#xff0c;适合从小型到大型项目的开发需求。GetX 的设计理念是一体化解决方案&#xff0c;通过一个框架解决状态管理…...

Java 大视界 -- 人才需求与培养:Java 大数据领域的职业发展路径(92)

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…...

顺序表常用操作和笔试题

1、顺序表的常用操作 1.1 顺序表的创建 如下代码所示&#xff1a;创建了一个默认空间为10的整型顺序表&#xff0c;如果空间不足则会以1.5倍扩容。 List<Integer> list new ArrayList<>(); 创建一个空间为15的整型顺序表 List<Integer> list2 new ArrayL…...

List<Map<String, Object>> 如何对某个字段求和

在Java中&#xff0c;如果你有一个List<Map<String, Object>>的结构&#xff0c;并且你想要对某个特定字段进行求和&#xff0c;你可以使用Java 8的Stream API来简化这个过程。下面是一个示例代码&#xff0c;演示如何对某个字段进行求和。 假设你有一个List<M…...

2024亚马逊数据分析!

整体财务数据23 净销售额&#xff1a;全年净销售额达 6380 亿美元&#xff0c;同比增长 11%。 净利润&#xff1a;全年净利润为 592 亿美元&#xff0c;较上年同期的 304 亿美元增长 95%。 经营活动现金流&#xff1a;经营活动现金流达 1159 亿美元&#xff0c;同比增加了 36…...

foobar2000设置DSP使用教程及软件推荐

foobar2000安卓中文版&#xff1a;一款高品质手机音频播放器 foobar2000安卓中文版是一款备受好评的高品质手机音频播放器。 几乎支持所有的音频格式&#xff0c;包括 MP3、MP4、AAC、CD 音频等。不论是经典老歌还是最新的流行音乐&#xff0c;foobar2000都能完美播放。除此之…...

Apache Logic4j 库反序列化漏洞复现与深度剖析

前言 在渗透测试领域&#xff0c;反序列化漏洞一直是安全研究人员和攻击者关注的焦点。今天&#xff0c;我们将深入探讨 Apache Logic4j 库中的反序列化漏洞&#xff0c;详细了解其原理&#xff0c;并进行完整的复现演示。 一、漏洞原理 Apache Logic4j 库在处理对象的反序列…...

FPGA VIVADO:axi-lite 从机和主机

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

LabVIEW 中的 3dgraph.llb库

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

【Linux】文件系统:文件fd

&#x1f525;个人主页&#xff1a;Quitecoder &#x1f525;专栏&#xff1a;linux笔记仓 目录 01.回顾C文件接口02.系统文件I/O02.1 openflags 参数&#xff08;文件打开模式&#xff09;标记位传参1. 访问模式&#xff08;必须指定一个&#xff09;2. 额外控制标志&#xf…...

Vue学习记录19

TransitonGroup <TransitionGroup> 是一个内置组件&#xff0c;用于对 v-for 列表中的元素或组件的插入、移除和顺序改变添加动画效果。 和 <Transtion> 的区别 <TranstionGroup> 支持和 <Transtion> 基本相同的 props、CSS过渡 class 和 JavaScript…...

MATLAB更改图论的布局:设置layout

在图论那一章&#xff0c;我们讲过最小生成树和单源最短路径&#xff08;见&#xff1a;从零开始学数学建模&#xff09;&#xff1a; 以最短路径那节课为例&#xff0c;把绘图pplot那部分代码写为&#xff1a; % plot绘图有很多参数可以设置&#xff0c;使图尽量美观 P plot…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中&#xff0c;iftop是网络管理的得力助手&#xff0c;能实时监控网络流量、连接情况等&#xff0c;帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库&#xff0c;特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术&#xff0c;说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号&#xff08;调制&#xff09; 把信息从信号中抽取出来&am…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程&#xff1a;首先由HR先筛选一部分简历后&#xff0c;在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如&#xff1a;Boss直聘&#xff08;招聘方平台&#xff09; 直接按照条件进行筛选 例如&#xff1a…...

Redis数据倾斜问题解决

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

Element Plus 表单(el-form)中关于正整数输入的校验规则

目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入&#xff08;联动&#xff09;2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

Elastic 获得 AWS 教育 ISV 合作伙伴资质,进一步增强教育解决方案产品组合

作者&#xff1a;来自 Elastic Udayasimha Theepireddy (Uday), Brian Bergholm, Marianna Jonsdottir 通过搜索 AI 和云创新推动教育领域的数字化转型。 我们非常高兴地宣布&#xff0c;Elastic 已获得 AWS 教育 ISV 合作伙伴资质。这一重要认证表明&#xff0c;Elastic 作为 …...

算术操作符与类型转换:从基础到精通

目录 前言&#xff1a;从基础到实践——探索运算符与类型转换的奥秘 算术操作符超级详解 算术操作符&#xff1a;、-、*、/、% 赋值操作符&#xff1a;和复合赋值 单⽬操作符&#xff1a;、--、、- 前言&#xff1a;从基础到实践——探索运算符与类型转换的奥秘 在先前的文…...

用鸿蒙HarmonyOS5实现国际象棋小游戏的过程

下面是一个基于鸿蒙OS (HarmonyOS) 的国际象棋小游戏的完整实现代码&#xff0c;使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├── …...

RLHF vs RLVR:对齐学习中的两种强化方式详解

在语言模型对齐&#xff08;alignment&#xff09;中&#xff0c;强化学习&#xff08;RL&#xff09;是一种重要的策略。而其中两种典型形式——RLHF&#xff08;Reinforcement Learning with Human Feedback&#xff09; 与 RLVR&#xff08;Reinforcement Learning with Ver…...