【Python】06、流程控制语句
文章目录
- 1.条件判断语句
- 1.1 if 语句
- 2. input 函数
- 3.if-else 语句
- 4.if-elif-else 语句
- 2.循环语句
- 2.1 while语句
- 2.2 while语句练习:
- 2.3 循环嵌套
- 2.4 break和continue
通过流程控制语句,可以改变程序的执行顺序,也可以让指定程序反复执行多次。
流程控制语句分类:
- 条件判断语句
- 循环语句
1.条件判断语句
1.1 if 语句
if语句是常见的条件判断语句
语法格式:if 条件表达式 :语句
默认情况下,if语句只会控制紧随其后的那条语句,
如果希望控制多条语句,可以使用代码块(即在冒号后另起一行,带有一个缩进)

执行流程:if语句在执行时,先对条件表达式进行求值判断,
如果为True,则执行if后的语句,如果为False,则不执行
注意
在if的条件表达式中可以使用逻辑运算符连接多个条件
缩进的方式
- 一种使用Tab键,一种使用空格(4个)
- Python的官方文档中推荐使用空格来缩进
- Python代码中使用的缩进方式必须统一
为了统一缩进方式,可以在sublime中设置按Tab键时生成4个空格
设置步骤:
首选项-设置,在弹出的文档中搜索 translate_tabs_to_spaces,将这个值设置为true
2. input 函数
该函数用来获取用户的输入
- input()函数调用后,程序会立即暂停,等待用户输入。用户输入完成后,点击回车程序才会继续执行
- input函数中可以设置一个字符串参数,这个字符串将会作为提示文字显示
- 用户输入完成后,输入的内容会以返回值的形式返回


注意: input的返回值是一个字符串,如果输入的是数字类型,接收的时候需要做类型转换
3.if-else 语句
语法结构:if-else 条件表达式:
if 条件表达式 :代码块
else : 代码块
eg:


4.if-elif-else 语句
多条件判断语句,语法结构如下:
if 条件表达式 : 代码块
elif 条件表达式 : 代码块
elif 条件表达式 : 代码块...
else : 代码块
代码执行流程:
if-elif-else 语句在执行时,会自上而下一次对条件表达式进行求值判断,
- 如果表达式的结果为True,则执行当前代码块,然后语句结束
- 如果表达式结果为False,则继续向下判断,直到找到True为止
- 如果所有的表达式都是False,则执行else后的代码块
if-elif-else语句只有一个代码块会被执行
eg:



2.循环语句
循环语句可以指定的代码块重复指定的次数,循环语句分为:
- while循环
- for循环
2.1 while语句
语法结构
while 条件表达式 : 代码块
执行流程:
- while语句在执行时,会先对while后的条件表达式进行求值判断,
- 如果判断结果为True,则执行循环体(代码块)
- 循环体执行完毕,继续对条件表达式进行求值判断,以此类推,直到判断结果为False,则循环终止
- 如果循环有对应的else,则执行else后的代码块
- 循环三要素
- 初始化表达式,通过初始化表达式初始化一个变量
- 条件表达式,用来设置循环执行的条件
- 更新表达式,修改初始化变量的值
eg:
# 1.初始化表达式
i = 0
# 2.条件表达式,设置循环执行条件
while i < 10 :print(i)# 3.更新表达式,修改初始化值i += 1
执行结果:
0
1
2
3
4
5
6
7
8
9***Repl Closed***
2.2 while语句练习:
- 求100以内所有奇数的和:
i= 1
res = 0while i < 100 :res += ii += 2print('100以内奇数和=',res)
结果:
100以内奇数和= 2500***Repl Closed***
- 获取1000以内的水仙花数
i = 100while i < 1000 :# 百位数a = i // 100# 十位数b = (i - a * 100) // 10# 个位数c = i % 10# 执行判断if a ** 3 + b ** 3 + c ** 3 == i :print(i)i += 1
运行结果:
153
370
371
407***Repl Closed***
2.3 循环嵌套
循环嵌套时,外层循环每执行一次,内层循环就要执行一圈
i = 0while i < 5 : j = 0while j < i + 1 : print('*',end='')j += 1print()i += 1# 结果
*
**
***
****
********Repl Closed***
打印乘法表:
user_input = int(input('请输入乘法表大小:'))if user_input > 0 : # 表示行i = 1#表示列# j = 1while i < user_input : j = 1while j <= i : print(f'{j}*{i}={j * i}',end=' ')j += 1print()i += 1# 结果:请输入乘法表大小:10
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 ***Repl Closed***
2.4 break和continue
- break可以用来立即退出当前循环(退出内层循环,如果外层有循环会继续执行)
- continue 表示跳过当次,执行下一次循环
break和continue都是针对距离最近的循环起作用
- pass
pass在Python中用来在判断或循环语句中占位的
相关文章:
【Python】06、流程控制语句
文章目录 1.条件判断语句1.1 if 语句2. input 函数3.if-else 语句4.if-elif-else 语句 2.循环语句2.1 while语句2.2 while语句练习:2.3 循环嵌套2.4 break和continue 通过流程控制语句,可以改变程序的执行顺序,也可以让指定程序反复执行多次。…...
《python》—— threading库(线程和多线程)
文章目录 threading简介threading基本概念常用类和方法线程同步线程池实例 threading简介 threading 是 Python 标准库中用于实现多线程编程的模块。多线程编程允许程序同时执行多个任务,提高程序的并发性能,尤其适用于 I/O 密集型任务,例如…...
【数据分享】2000-2024年全国逐年归一化植被指数(NDVI)栅格数据(年最大值)
NDVI,全名为Normalized Difference Vegetation Index,中文名称为归一化植被指数。这个指数可以用来定性和定量评价植被覆盖及其生长活力,我们也可以简单地将它理解为体现植被密度和健康状况的一个指标。 之前我们给大家分享了来源于MOD13A3数…...
【项目】负载均衡式在线OJ
负载均衡式在线OJ 目录 负载均衡式在线OJ 1.项目介绍: 2.comm 2.1 log.hpp 日志等级 开放式日志 时间戳工具 2.2 util.hpp TimeUtil类 PathUtil类 FileUtil类 StringUtil类 3.Compile_server 3.1compile_run.hpp RemoveTempFile CodeToDesc Start 3.…...
前端发布缓存导致白屏解决方案
解决发布H5后因为本地缓存白屏方案 一、 核心配置优化(前提是访问网站的请求能抵达服务器) 方案一:前端项目设置全局不缓存方案 运行逻辑:在H5服务器配置中增加Cache-Control: no-cache或max-age0响应头,禁用静态资…...
大模型开源的工具包有哪些特殊符号可以使用;SEP 是什么
大模型开源的工具包有哪些特殊符号可以使用 目录 大模型开源的工具包有哪些特殊符号可以使用自定义特殊token:special_tokens=True一、**对话轮次分隔符(必选)**二、**系统提示标记(提升指令理解)**三、**中文特色分隔符(贴合书写习惯)**四、**开源模型专属符号(按文档…...
混沌理论与混沌映射——算法改进初始化创新点之一
混沌理论与混沌映射 混沌理论研究混沌系统的动力学,其特征是非线性和对初始条件的极端敏感性。即使在这些条件下的微小变化也可能导致系统结果的显著变化。尽管看起来是随机的,混沌系统可以在不依赖随机性的情况下表现出不规则的行为,因为确…...
19874并查集
19874并查集 ⭐️难度:中等 🌟考点:并查集、数据结构 📖 📚 import java.util.*;public class Main {static int N 100010;static int[] a new int[N];static int[] p new int[N];static int n;static int m;st…...
macOS 安装配置 iTerm2 记录
都说 macOS 里替换终端最好的就是 iTerm2 ,这玩意儿还是开源的,所以就也根风学习一下,但全是英文的挺麻烦,所以这里记录一下自己的设置,以最简单的安装及设置为主,想要更酷炫、更好看的还请自己百度吧&…...
LLM最新的模型微调技术有哪些
LLM 最新的模型微调技术有哪些 目录 LLM 最新的模型微调技术有哪些1. QLoRA(Quantized Low-Rank Adaptation)2. P-Tuning v23. LoRA++(增强版 LoRA)4. AdaLoRA(Adaptive LoRA)5. BitFit(仅微调偏置)1. QLoRA(Quantized Low-Rank Adaptation) 原理:QLoRA 结合了低秩自…...
Jmeter下载安装配置及使用
1、下载 官网地址:Apache JMeter - Download Apache JMeter 2、配置环境变量 ①找到环境变量,两种方法 法一:我的电脑→右键菜单→属性→高级系统设置→环境变量 法二:直接搜索环境变量 ②新建两个系统变量 1.变量名&#x…...
简单易懂Modbus Tcp和Rtu的异同点
关键说明 无需修改业务逻辑:同一套读写代码可同时支持TCP和RTU,仅需调整底层通信接口。 工具兼容性:调试工具(如Modbus Poll)可同时解析两种协议,仅需切换传输模式。 系统集成优势:混合网络下可…...
try catch的使用
try catch的使用 在 Java 中,try-catch 语句用于异常处理。异常处理可以帮助我们在程序出现错误时,不会导致程序崩溃,而是采取一定的措施来处理错误。try-catch 语句是用于捕获并处理异常的机制。 基本语法 try {// 可能会抛出异常的代码块…...
【从零开始学习计算机科学】编译原理(一)编译过程概述
【从零开始学习计算机科学】编译原理(一)编译过程概述 绪论编译过程概述词法分析语法分析代码优化代码生成其他功能编译器的前端和后端绪论 什么叫编译程序?为什么我们需要编译程序?编译程序就是一个程序,将便于人编写、阅读、维护的高级计算机语言所写作的源代码程序,翻…...
PCL 点云AABB包围盒(二)
文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 包围盒是一种求解离散点集最优包围空间的算法,基本思想是用体积稍大且特性简单的几何体(称为包围盒)来近似地代替复杂的几何对象。(来源于百度)常用的求解包围盒的算法主要有AABB和OOB算法,其中AABB的算法思想…...
【算法day8】 Z 字形变换 -O(n)算法思路整理
Z 字形变换,算法思路整理 https://leetcode.cn/problems/zigzag-conversion/description/ 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下…...
L3-1 夺宝大赛
输入样例 1: 5 7 1 1 1 1 1 0 1 1 1 1 1 1 0 0 1 1 0 2 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 7 1 5 7 1 1 1 5 5 3 1 3 5 1 4输出样例 1: 7 6样例 1 说明: 七支队伍到达大本营的时间顺次为:7、不可能、5、3、3、5、6,…...
Matlab:矩阵运算篇——矩阵
目录 1.定义 实例——创建矩阵 实例——创建复数矩阵 2.矩阵的生成 实例——M文件矩阵 2.利用文本创建 实例——创建生活用品矩阵 3.创建特殊矩阵 实例——生成特殊矩阵 4.矩阵元素的运算 1.矩阵元素的修改 实例——新矩阵的生成 2.矩阵的变维 实例——矩阵维度修…...
泛微ecode的页面开发发送请求参数携带集合
1.在开发过程中我们难免遇见会存在需要将集合传递到后端的情况,那么这里就有一些如下的注意事项,如以下代码: // 新增action.boundasync addQuestion(formData) {var theList this.questionAnswerList;var questionAnswerListArray new Ar…...
【结构光相机的精度极限】
1. 光源波长((\lambda)) 光源波长是决定结构光相机精度极限的核心因素之一。根据光学衍射极限理论,光的波长越短,能够分辨的细节越小,精度越高。 理论依据: 根据瑞利判据(Rayleigh Criterion&…...
Javaweb后端全局异常处理器
类名随便定义 这是异常处理的方法exceptionhandler responsebody作用,方法的响应值返回给前端,如果返回的是集合对象,会把集合对象转为json,再给前端响应返回...
SpringBoot缓存抽象:@Cacheable与缓存管理器配置
文章目录 引言一、SpringBoot缓存抽象概述二、Cacheable注解详解2.1 Cacheable的关键属性 三、缓存管理器配置四、自定义键生成策略五、缓存同步与失效策略六、SpringBoot缓存最佳实践总结 引言 缓存是提升应用性能的关键技术,SpringBoot提供了强大的缓存抽象层&am…...
下载文件,文件名乱码问题
C# .net framework 4.8 mvc 项目,做一个文件下载功能。 原项目是前端使用razor引擎方式做页面渲染的。 该项目原来就有一个模块是可供文件下载的,且文件名是中文。 但是我现在新增的这个模块,领导要求用js写,觉得razor太笨重。 …...
深入理解Linux进程管理:从基础到高级操作指南
1. 进程的定义、组成和环境 什么是进程? 想象你的电脑是一个大工厂,进程就是工厂里正在运行的机器。每个机器(进程)都有自己的任务,比如一台机器负责打印文件,另一台负责播放音乐。 进程的组成࿱…...
DOM与CSS:网页设计的核心力量
DOM与CSS:网页设计的核心力量 引言 在网页设计中,DOM(文档对象模型)与CSS(层叠样式表)是两个不可或缺的组成部分。它们共同构成了现代网页的骨架与外衣。本文将深入探讨DOM与CSS的关系、作用以及如何有效地运用它们来提升网页设计质量。 DOM:网页内容的结构化表示 什…...
深入解析pnpm与npm:颠覆传统包管理的技术革命与应用实践
深入解析pnpm与npm:颠覆传统包管理的技术革命与应用实践 引言:被node_modules支配的恐惧 "你的node_modules有多大?"这个灵魂拷问总能引发开发者会心一笑。当项目规模达到500MB时,npm install需要喝三杯咖啡的时间&am…...
OpenSSL 的主要功能及其示例命令
OpenSSL 是一个功能强大的开源工具包,用于处理各种与加密相关的任务,包括生成密钥、创建证书、加密解密数据、验证证书等。以下是 OpenSSL 的主要功能及其示例命令。 1.生成密钥 1.1 生成 RSA 私钥 openssl genrsa -out private_key.pem 2048• 说明&a…...
江科大51单片机笔记【11】AT24C02(I2C总线)
一、存储器 1.介绍 RAM的特点是存储速度特别快,但是掉电会丢失;ROM的特点是存储速度特别慢,但是掉电不会丢失 SRAM是所有存储器最快的,一般用于电脑的CPU高速缓存,容量相对较少,成本较高;DRAM…...
html css 笔记
01_浏览器相关知识 五大主流浏览器: Chrome Safari IE Firefox Opera (拥有自己的内核) 四大内核: webkit Trident Gecko blink. 02_网页相关知识 构成 网址 网站 网页 网页标准: 结构 表现 行为 分别对应 HTML CSS JavaScript 03_HTML简介 H…...
【一句话经验】ubuntu vi/vim 模式自动设置为paste
从centos过来,发现ubutun有些地方不习惯,尤其是vi的粘贴,默认自动进去了代码模式,导致每次粘贴必须得set paste,否则会出现问题。 解决办法非常简单,按照下面命令执行即可: cd ~ echo "…...
