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

这里的 elifelse 部分是可选的。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 中,缩进是至关重要的。 ifelifelse 语句都是根据缩进来寻找匹配对象的。为了规范:一个程序中的缩进应当只用一种形式,即只用tab键 或者 只用空格不要混用
(2)条件:确保你使用的条件能够正确地评估你想要检查的变量或表达式。(表达式或者变量的结果通常是布尔类型
(3)逻辑运算符:你还可以使用逻辑运算符(如 andornot)来构建更复杂的条件。
例如(使用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

输出结果:
在这里插入图片描述
在这个例子中,我们初始化变量 i1。然后,我们使用 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):  # 这将生成从 04 的序列print(i)

输出结果:
在这里插入图片描述
在上述示例中,我们使用 range(5) 来生成一个包含从 0 到 4整数序列。然后我们使用 for 循环遍历这个范围并打印每个数字。

3,注意事项

(1)范围range() 函数生成的范围是左闭右开(即不包含 stop 参数指定的值)。
(2)默认值start 默认为 0,step 默认为 1。
(3)应用range() 生成的范围序列可以用于很多场景,如循环、列表推导式、slicing


🌈我的分享也就到此结束啦🌈
要是我的分享也能对你的学习起到帮助,那简直是太酷啦!
若有不足,还请大家多多指正,我们一起学习交流!
📢公主,王子:点赞👍→收藏⭐→关注🔍
感谢大家的观看和支持!祝大家都能得偿所愿,天天开心!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/734287.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计模式--装饰器模式(Decorator Pattern)

装饰器模式&#xff08;Decorator Pattern&#xff09;是一种结构型设计模式&#xff0c;它允许你在运行时动态地将行为添加到对象中。在装饰器模式中&#xff0c;这些新的行为通常对应于添加的责任。装饰器提供了比继承更有弹性的替代方案。 装饰器模式主要包含以下几个角色&…

bug_java

文章目录 1.创建Maven时&#xff1a; idea报错为&#xff1a;java&#xff1a;错误&#xff1a;不支持发行版本52. Springbot启动报错-类文件具有错误的版本 61.0, 应为 52.0 1.创建Maven时&#xff1a; idea报错为&#xff1a;java&#xff1a;错误&#xff1a;不支持发行版本…

or-tools cp-sat CpModel.AddAllDifferent

or-tools cp-sat CpModel.AddAllDifferent 1 示例程序 1 示例程序 链接: 官方文档 from ortools.sat.python import cp_modeldef sudoku_solver(puzzle):# 创建一个 CP-SAT 模型model cp_model.CpModel()# 创建变量board [[model.NewIntVar(1, 9, fcell_{i}_{j}) for j in …

遗传算法GA求解机器人栅格地图最短路径规划,可以自定义地图及起始点(提供MATLAB代码)

一、原理介绍 遗传算法是一种基于生物进化原理的优化算法&#xff0c;常用于求解复杂问题。在机器人栅格地图最短路径规划中&#xff0c;遗传算法可以用来寻找最优路径。 遗传算法的求解过程包括以下几个步骤&#xff1a; 1. 初始化种群&#xff1a;随机生成一组初始解&…

子组件通过 $emit 触发父组件3.5日学习记录打卡

子组件通过 $emit 触发父组件的方法时&#xff0c;如果需要传递参数&#xff0c;可在方法名后面加可选参数&#xff0c;参数以逗号隔开。 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewpo…

2024.3.9 C++启航 梦开始的地方

一.基本格式: #include<iostream>using namespace std;int main() {return 0; } 二.注释 1.当行注释: 同C语言//描述信息 2.多行注释: /*描述信息*/ 三.输入输出 既可以使用scanf和printf 也可以使用标准输入流对象cin和标准输出流对象cout,且cin cout更安全和方…

【数据分析】在Python中,使用apriori算法挖掘药材的频繁项集,并挖掘关联规则

本文代码及数据下载 文章目录 使用Pandas和Mlxtend进行关联分析&#xff1a;从药物处方数据到关联规则开始之前加载和准备数据发现频繁项集生成关联规则美化输出保存结果到Excel绘制关联规则网络图 使用Pandas和Mlxtend进行关联分析&#xff1a;从药物处方数据到关联规则 关联…

Redis的HyperLogLog原理介绍

Redis 的 HyperLogLog 数据结构实现了一种基于概率的基数估算算法&#xff0c;用于在占用极小内存的情况下估算一个集合中不重复元素&#xff08;唯一值&#xff09;的数量。以下是 HyperLogLog 算法的基本原理&#xff1a; 哈希函数&#xff1a; HyperLogLog 使用一个强散列函…

小程序网页view多行文本超出隐藏或显示省略号

实现效果&#xff1a; 限制两行&#xff0c;超出即显示省略号 实现&#xff1a;话不多说&#xff0c;展示代码 关键代码 .box{ width:100rpx; overflow:hidden; text-overflow: ellipsis;//超出省略号 display:-webkit-box; -webkit-line-clamp: 2;//显…

RabbitMQ - 03 - Work消息模型

目录 部署demo项目 什么是Work消息模型 实现Work消息模型 1.创建队列 2.生产者代码 3.消费者代码 4.配置yml 部署demo项目 通过消息队列demo项目进行练习 相关配置看此贴 http://t.csdnimg.cn/hPk2T 注意 生产者消费者的yml文件也要配置好 什么是Work消息模型 工作…

Arcgis小技巧【20】——属性表有东西,缩放至图层却看不到?

一、问题分析 这是一个看似正常的要素类数据&#xff0c;打开它的属性表&#xff0c;里面有一行要素&#xff1a; 说明这不是空数据。 回到地图界面&#xff0c;在图层列表中&#xff0c;右键单击&#xff0c;点击【缩放至图层】。 使用过这个功能的应该知道&#xff0c;点击…

快速上手:使用Hexo搭建并自定义个人博客

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…

Linux常用操作命令-防火墙常用操作

一、防火墙常用操作 1、查看防火墙的状态&#xff1b; systemctl status firewalld 2、启动防火墙 systemctl start firewalld.service 3、开启某个端口&#xff0c;如8081端口&#xff0c;输入命令 firewall-cmd --zonepublic --add-port8088/tcp --permanent 4、删除某个…

Linux第74步_“设备树”下的LED驱动

使用新字符设备驱动的一般模板&#xff0c;以及设备树&#xff0c;驱动LED。 1、添加“stm32mp1_led”节点 打开虚拟机上“VSCode”&#xff0c;点击“文件”&#xff0c;点击“打开文件夹”&#xff0c;点击“zgq”&#xff0c;点击“linux”&#xff0c;点击“atk-mp1”&am…

AHU 数据库 实验四

【实验名称】 实验4 数据库的嵌套查询和集合查询 【实验目的】 1. 理解并掌握子查询的概念和作用&#xff1b; 2. 掌握DBMS 实现嵌套查询的基本方法和应用&#xff1b; 3. 掌握DBMS 实现集合查询的基本方法和应用&#xff1b; 4. 学习、掌握并熟练…

selenium-java 通过配置xml文件并发运行类或者方法

1、打开idea允许某个class类&#xff0c;可以在控制台看到运行路径的下的配置文件如下图&#xff1a; 2、将路径复制到本地路径中找到temp-testng-customsuite.xml文件 3、复制该文件到项目的根目录下&#xff0c;可以修改文件名称&#xff0c;如下图 4、如图所示&#xff0c;通…

Unity UGUI之InputField(TMP)基本了解

Unity的InputField组件是用于在Unity中创建可供用户输入文本的输入框的UI组件。通过InputField组件&#xff0c;可以让用户在运行时输入文本&#xff0c;比如用户名、密码、搜索关键字等。其中TMP版本的InputField是基于TextMeshPro的InputField组件&#xff0c;提供了更多的文…

C++字符串操作【超详细】

零.前言 本文将重点围绕C的字符串来展开描述。 其中&#xff0c;对于C/C中字符串的一些区别也做出了回答&#xff0c;并对于C的&#xff08;string库&#xff09;进行了讲解&#xff0c;最后我们给出字符串的不同表达形式。 开发环境&#xff1a; VS2022 一.字符串常量跟字…

运维随录实战(12)之node版本管理工具nvm

1,下载安装nvm 可以去其 github 主页下在,地址为 github.com/coreybutler…会看到有很多个文件可供选择: 这里稍做下解释: nvm-noinstall.zip: 这个是绿色版本,不需要安装,但是使用之前需要配置环境变量;nvm-setup.zip:推荐下载这个包,无需配置就可以使用;Source …

Rust 的 std::error::Error

std::error::Error 是 Rust 标准库中的一个 trait&#xff0c;它定义了一个通用的错误处理接口。在 Rust 中&#xff0c;错误处理是一个重要的部分&#xff0c;而 Error trait 使得不同类型的错误可以以一种统一的方式被处理。 Error trait 的定义 Error trait 定义非常简单&…