python基础——条件判断和循环【if,while,for,range】
📝前言:
这篇文章主要讲解一下条件判断语句if和循环语句while,for在python中需要注意的地方。
建议已有一定了解(对语句的执行逻辑清楚)的读者观看,如果对条件判断和循环的执行逻辑不太清楚,也可先浏览C语言——分支语句(if,switch)和C语言——循环结构这两篇文章,先理解这两种语句的执行逻辑
🎬个人简介:努力学习ing
📋个人专栏:C语言入门基础以及python入门基础
🎀CSDN主页 愚润求学
🌄每日鸡汤:最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。
文章目录
- 一,if语句
- 1,基本介绍
- 2,例子
- 3,注意事项
- 二,while语句
- 1,基本介绍
- 2,例子
- 3,注意事项
- 三,for语句
- 1,基本介绍
- 2,例子
- 3,注意事项
- 四,range()函数
- 1,基本介绍
- 2,例子
- 3,注意事项
一,if语句
1,基本介绍
在 Python 中,if 语句用于基于一定条件来控制程序的执行流程。它允许你基于一个或多个条件来决定哪些代码块应该被执行。下面是 if 语句的基本结构:
if 条件1:代码块1
elif 条件2:代码块2
else:代码块3
这里的 elif 和 else 部分是可选的。elif 用于检查其他条件,else 用于在前面条件都不满足时执行。
2,例子
下面是一个简单的例子,演示如何使用 if 语句来检查一个数字是否是正数、零或负数:
num = -5if num > 0:print("num 是一个正数")
elif num == 0:print("num 是零")
else:print("num 是一个负数")
运行结果:
在这个例子中,因为num的值为 -5,所以if条件不满足。然后我们检查elif条件,即num是否等于 0。也不满足。因此,我们执行else代码块,输出 “num 是一个负数”。
3,注意事项
(1)缩进:缩进就是在语句前的空格数量(通常一个tab键 == 四个空格),在 Python 中,缩进是至关重要的。 if、elif 和 else 语句都是根据缩进来寻找匹配对象的。为了规范:一个程序中的缩进应当只用一种形式,即只用tab键 或者 只用空格,不要混用
(2)条件:确保你使用的条件能够正确地评估你想要检查的变量或表达式。(表达式或者变量的结果通常是布尔类型)
(3)逻辑运算符:你还可以使用逻辑运算符(如 and、or 和 not)来构建更复杂的条件。
例如(使用and运算符):
x = 10
y = 20# 检查 x 是否大于 5 且 y 是否大于 x
if x > 5 and y > x:print("x 大于 5 且 y 大于 x")
(4)我们还可以将input输入语句直接写入判断语句中,以节省代码量
如下:
print("欢迎来到动物园")
if int(input("请输入你的身高(单位cm):")) <=120:print("你的身高小于120cm,你可以免费游玩!")
运行结果:
二,while语句
1,基本介绍
在 Python 中,while 语句用于重复执行一段代码。只要指定的条件为 True,就一直循环执行,当条件变为 False 时,循环停止。
while 语句的基本结构如下:
while 条件:# 循环体,当条件为 True 时执行# ...
2,例子
下面是一个简单的例子,演示了如何使用 while 语句输出数字 1 到 5:
i = 1while i <= 5:print(i)i += 1
输出结果:
在这个例子中,我们初始化变量i为1。然后,我们使用 while 循环来检查i是否小于或等于5。只要这个条件为True,就会执行循环体,即输出i的值并将其增加 1。当i达到6时,不满足循环条件(i<=5),循环停止。
3,注意事项
(1)无限循环:要小心避免无限循环。如果条件永远为 True,程序将永远执行循环体,这可能导致程序无响应。要确保在循环体内适当地更新循环控制变量,能够使条件最终变为 False。(即:要在循环体中,设置能改变条件结果的值)
(2)使用continue开始下一次循环:你可以使用continue语句,直接结束本次循环,开启下一次循环
(3)使用 break 退出循环:你可以使用 break 语句提前退出循环。但,break只能跳出本层循环
(4)缩进:while循环也使用缩进来控制语句块
三,for语句
1,基本介绍
在 Python 中,for 循环遵守“轮询”机制,对一批内容进行“逐个处理”,通常用来用于遍历序列(如列表、元组、字符串等)或其他可迭代对象的元素。
基本语法:
for 变量 in 可迭代对象:循环体
●
for关键字:用于开始一个循环。
● 变量:表示当前迭代的元素,每次迭代都会将可迭代对象的下一个元素赋值给变量。
●in关键字:用于指定被迭代的对象。
● 可迭代对象:表示要被迭代的对象,如列表、元组、字符串等。
2,例子
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:print(fruit)
输出结果:
在上述示例中,我们有一个包含三种水果的列表。我们使用for循环遍历这个列表,并打印每个水果。在每次迭代中,变量fruit会被赋值为列表中的下一个元素,然后执行循环体,直到列表里的元素被遍历完以后,循环停止。
3,注意事项
(1)范围:for 循环通常用于遍历序列或可迭代对象的元素。如果使用非迭代对象,会导致错误。
(2)索引:虽然 for 循环可以直接访问序列的元素,但如果想同时获取元素的索引和值,可以使用 enumerate() 函数。
(3)条件:在 for 循环中,条件可以在循环体内部使用,但通常不推荐在循环头使用条件,因为这可能会导致循环无法执行。
四,range()函数
1,基本介绍
range() 是 Python 内置函数,用于生成一个整数范围的序列。这个范围可以用于各种计算,如循环、序列 slicing 等。
基本语法:
range(start, stop, step)
●start:范围序列的起始值。
●stop:范围序列的终止值(不包括该值)。
●step:范围序列中每两个连续数字之间的差值。
2,例子
与for循环的结合使用:
for i in range(5): # 这将生成从 0 到 4 的序列print(i)
输出结果:
在上述示例中,我们使用range(5)来生成一个包含从0 到 4的整数序列。然后我们使用for循环遍历这个范围并打印每个数字。
3,注意事项
(1)范围:range() 函数生成的范围是左闭右开(即不包含 stop 参数指定的值)。
(2)默认值:start 默认为 0,step 默认为 1。
(3)应用:range() 生成的范围序列可以用于很多场景,如循环、列表推导式、slicing 等
🌈我的分享也就到此结束啦🌈
要是我的分享也能对你的学习起到帮助,那简直是太酷啦!
若有不足,还请大家多多指正,我们一起学习交流!
📢公主,王子:点赞👍→收藏⭐→关注🔍
感谢大家的观看和支持!祝大家都能得偿所愿,天天开心!!!
相关文章:
python基础——条件判断和循环【if,while,for,range】
📝前言: 这篇文章主要讲解一下条件判断语句if和循环语句while,for在python中需要注意的地方。 建议已有一定了解(对语句的执行逻辑清楚)的读者观看,如果对条件判断和循环的执行逻辑不太清楚,也可…...
Pytorch 复习总结 6
Pytorch 复习总结,仅供笔者使用,参考教材: 《动手学深度学习》Stanford University: Practical Machine Learning 本文主要内容为:Pytorch 计算机视觉。 本文先介绍了计算机视觉中两种常见的改进模型泛化性能的方法:…...
借助 Terraform 功能协调部署 CI/CD 流水线-Part 1
在当今快节奏的开发环境中,实现无缝、稳健的 CI/CD 流水线对于交付高质量软件至关重要。在本文中,我们将向您介绍使用 Bitbucket Pipeline、ArgoCD GitOps 和 AWS EKS 设置部署的步骤,所有步骤都将利用 Terraform 的强大功能进行编排。在Part…...
云原生基础知识:容器技术的历史
容器化的定义: 容器化是一种轻量级的虚拟化技术,将应用程序及其所有依赖项(包括运行时、系统工具、系统库等)打包到一个称为容器的单独单元中。容器提供了一种隔离的执行环境,使得应用程序可以在不同的环境中运行&…...
golang实现正向代理和反向代理
文章目录 正向代理反向代理区别与联系:总结代理服务器实现正向代理反向代理正向代理 正向代理是客户端代理,它位于客户端和目标服务器之间。它的作用是保护客户端的隐私和安全。 如我们现在想要访问谷歌,但是由于某些原因,无法直接访问到谷歌,我们可以通过连接一台代理服务…...
grpc四种数据流
grpc四种数据流 简介 1.简单模式 这种模式最为传统,即客户端发起一次请求,服务端响应一个数据,这和大家平时熟悉的rpc没什么区别,所以不在详细介绍 2.服务端数据流模式 这种模式是客户端发起一次请求,服务端返回一段连续的数据流。典型的例子是客户端向服务端发…...
SpringCloud-Alibaba-Nacos教程
SpringCloud-Alibaba-Nacos教程 下载地址 https://github.com/alibaba/nacos/releases/tag/2.2.3 直接进入bin包 运行cmd命令 startup.cmd -m standalone 运行成功后 进入nacos可视化页面 账号密码默认都是nacos http://localhost:8848/nacos 微服务入驻Nacos服务注册…...
bug_java
文章目录 1.创建Maven时: idea报错为:java:错误:不支持发行版本52. Springbot启动报错-类文件具有错误的版本 61.0, 应为 52.0 1.创建Maven时: idea报错为:java:错误:不支持发行版本…...
【目标检测】旋转目标检测DOTA格式转YOLO格式标注
准备DOTA格式数据集: dota_dataset -- images |----- train |----- val -- labels |----- train |----- train_original |----- val |----- val_original 修改class_mapping和图片格式: ultralytics/data/converter.py convert_dota_to_yolo_obb() 转换标…...
运动想象 (MI) 迁移学习系列 (3) : MSFT
运动想象迁移学习系列:MSFT 0. 引言1. 主要贡献2. 数据增强方法3. 基于度量的空间滤波转换器3.1 空间过滤3.2 脑电图ViT3.2.1 变压器编码器层3.2.2 基于度量的损失函数 4. 实验结果4.1 消融实验4.2 基线任务对比4.3 跨主体 5. 总结欢迎来稿 论文地址:https://www.s…...
NeRF模型NeRF模型
参考视频:https://www.youtube.com/watch?vHfJpQCBTqZs&ab_channelVision%26GraphicsSeminaratMIT NeRF模型的输入输出: 输入: (x, y, z): 一个三维空间坐标,代表场景中的一个位置点(θ, φ): 视线方向,θ表示与y轴的夹角,φ表示与x轴的夹角,用两个角度可以…...
python爬虫(4)
#前期先说明一下为啥爬虫需要学习数组的存储和处理,只是说在你后期接触到最简单的爬虫后有一个地方可以存放你的数据# 下面为大家带来一个我在做excel表整理时的代码以及上次代码的结果 上次代码的结果: 新的代码: import numpy as np im…...
递归神经网络 (RNN) 及其变体 LSTM (长短期记忆) 和 GRU (门控循环单元)
递归神经网络(RNN, Recurrent Neural Networks)是一类用于处理序列数据的神经网络,特别适合于时间序列数据、语音、文本等连续数据的处理。RNN之所以独特,是因为它们在模型内部维持一个隐藏状态,该状态理论上可以捕获到…...
Redis的HyperLogLog原理介绍
Redis 的 HyperLogLog 数据结构实现了一种基于概率的基数估算算法,用于在占用极小内存的情况下估算一个集合中不重复元素(唯一值)的数量。以下是 HyperLogLog 算法的基本原理: 哈希函数: HyperLogLog 使用一个强散列函…...
微信小程序开发系列(二十六)·小程序运行机制(启动、前后台状态、挂起、销毁)和小程序更新机制
目录 1. 小程序运行机制 1.1 启动 1.2 前台和后台状态 1.3 挂起 1.4 销毁 2. 小程序更新机制 1. 小程序运行机制 1.1 启动 小程序启动可以分为两种情况,一种是冷启动,一种是热启动。 冷启动:如果用户首次打开,或小…...
百度信息流
计划: 流量选择 - 四个维度: 百度信息流 ; 整合了百度APP、WAP、PC各频道信息流和内容详情页的流量资源,广告和信息流内容资讯穿插展现;适合所有产品呢 好看视频; 汇集海量优质的视频内容,通过智能推荐算法为用户推送最适合的视频广告,视频广告在列表页有声…...
JAVA后端开发面试基础知识(十)——设计模式
创建型模式 创建型模式的作用就是创建对象,说到创建一个对象,最熟悉的就是 new 一个对象,然后 set 相关属性。但是,在很多场景下,我们需要给客户端提供更加友好的创建对象的方式,尤其是那种我们定义了类&am…...
红帽认证知识储备-Linux安全
Linux安全 内置安全机制 常见的系统用的centos中用的是SELinux,ubuntu用的是AppArmor,deepin什么都没用 SELINUX 定义 SELinux 是一个 Linux 内核安全模块,它增强了系统的安全性,通过实施强制访问控制策略来限制程序和用户对系…...
Rust 语言中的 dyn 关键字
在 Rust 中,&dyn Error 是一个指向动态类型的 Error trait 对象的引用。这里的 dyn 关键字用于表示一个动态分派的 trait 对象。动态分派允许你在运行时确定实际的对象类型,而不是在编译时。 dyn 关键字在 Rust 中用于替换早期版本中的 & 符号&…...
软件测试实战,Web项目网页bug定位详细分析总结(详全)
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、前置条件 1&a…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...




