学习python笔记:3,条件判断,while循环,for循环,嵌套循环

注意:

condition后面有冒号:

换行之后的代码要对齐。

条件判断 if

在Python中,if 语句用于基于某个条件(或一系列条件)来执行代码块。如果条件为真(True),则执行 if 语句下的代码块;如果条件为假(False),则跳过该代码块。

if 语句的基本语法如下:

if condition:
# 执行这里的代码块,如果 condition 为 True
pass # pass 是一个占位符,表示这里什么也不做

你可以使用 elif(相当于 "else if")和 else 来添加更多的条件分支:

if condition1:
# 执行这里的代码块,如果 condition1 为 True
pass
elif condition2:
# 执行这里的代码块,如果 condition1 为 False 且 condition2 为 True
pass
else:
# 执行这里的代码块,如果 condition1 和 condition2 都为 False
pass

下面是一个具体的例子,演示了如何使用 ifelif 和 else

x = 10
if x < 0:
print("x 是负数")
elif x == 0:
print("x 是零")
else:
print("x 是正数")

在这个例子中,变量 x 的值为 10,因此会执行 else 分支,并输出 "x 是正数"。

比较运算符和逻辑运算符

你还可以使用比较运算符(如 ==!=<<=>>=)和逻辑运算符(如 andornot)来构建复杂的条件表达式。

例如:

age = 15
is_student = True
if age >= 18 and is_student:
print("你是一个成年学生")
elif age < 18 and is_student:
print("你是一个未成年学生")
else:
print("你的年龄或学生身份信息不明确")

在这个例子中,我们根据年龄和学生身份来输出不同的信息。由于 age 是 15(小于 18),且 is_student 是 True,所以会执行第二个 elif 分支,并输出 "你是一个未成年学生"。

while循环

在Python中,while循环用于重复执行一段代码块,直到指定的条件不再满足为止。只要条件为真(True),循环就会继续执行;一旦条件变为假(False),循环就会停止。

while循环的基本语法如下:

while condition:
# 执行这里的代码块,只要 condition 为 True
pass # pass 是一个占位符,表示这里什么也不做

下面是一个简单的例子,演示了如何使用while循环来打印从1到5的数字:

count = 1
while count <= 5:
print(count)
count += 1 # 增加计数器的值,否则循环将无限进行下去

在这个例子中,count变量初始化为1,然后while循环检查count是否小于或等于5。如果是,就打印count的值,并将count增加1。这个过程会一直重复,直到count的值大于5,此时while循环的条件不再满足,循环结束。

需要注意的是,在while循环内部,你必须确保循环条件最终会变为假,否则循环将无限进行下去,这通常被称为“死循环”。在上述例子中,我们通过每次迭代增加count的值来确保循环最终会停止。

break和continue

你还可以结合break语句在循环内部提前退出循环,或者在循环体外部使用continue语句跳过当前迭代并立即开始下一次迭代。

例如,使用break提前退出循环:

count = 1
while True: # 使用 True 作为条件创建无限循环
if count > 5:
break # 当 count 大于 5 时退出循环
print(count)
count += 1

在这个例子中,虽然循环条件始终为True(因此本应是无限循环),但if语句和break语句的组合允许我们在count大于5时退出循环。

使用continue跳过当前迭代:

for i in range(10):
if i % 2 == 0: # 如果 i 是偶数
continue # 跳过当前迭代,不执行下面的代码
print(i) # 只打印奇数,因为偶数时跳过了打印语句

在这个例子中,continue语句使得当i是偶数时,跳过打印操作,只打印出奇数。

for循环:

for循环用于遍历序列(如列表、元组、字符串、字典等)或其他可迭代对象中的元素。对于序列中的每一个元素,for循环都会执行一次循环体中的代码块。

for循环的基本语法如下:

 

python复制代码

for variable in iterable:
# 执行这里的代码块,对 iterable 中的每个元素进行迭代
pass # pass 是一个占位符,表示这里什么也不做

其中,variable是在每次迭代中临时使用的变量名,它会在每次循环时获取iterable(可迭代对象)中的下一个元素。iterable可以是一个列表、元组、字符串、字典、集合或任何实现了迭代协议的对象。

for item in ['mosh', 'john', 'sarah']:

    print(item)

for item in range(10):

    print(item)

#计算总和

prices = [10,20,30]

total = 0

for price in prices:

    total += price

print(f"total:", total)

fruits = ['apple', 'banana', 'cherry']
for fruit in fruits:
print(fruit)

对于字典,你可以遍历键、值或键值对:

person = {'name': 'Alice', 'age': 30, 'city': 'New York'}
# 遍历键
for key in person:
print(key)
# 遍历值
for value in person.values():
print(value)
# 遍历键值对
for key, value in person.items():
print(key, value)


你还可以使用range()函数来生成一个数字序列,并遍历这个序列:

for i in range(5):
print(i)

在这个例子中,range(5)生成了一个包含数字0到4(共5个数字)的序列,然后for循环遍历了这个序列,并将每个数字打印出来。

嵌套循环:

for x in range(4):

    for y in range(3):

        print(x,y)

numbers = [5,2,5,2,2]

for x in numbers:

    output = ''

    for y in range(x):

        output += 'x'

    print(output)

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

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

相关文章

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的田间杂草检测系统(深度学习模型+UI界面+Python代码+训练数据集)

摘要&#xff1a;开发用于田间杂草识别的系统对提高农业运营效率和提升作物产出至关重要。本篇文章详尽阐述了如何应用深度学习技术开发一个用于田间杂草识别的系统&#xff0c;并附上了完备的代码实现。该系统基于先进的YOLOv8算法&#xff0c;并对比了YOLOv7、YOLOv6、YOLOv5…

AXI CANFD MicroBlaze 测试笔记

文章目录 前言测试用的硬件连接Vivado 配置Vitis MicroBlaze CANFD 代码测试代码测试截图Github Link 前言 官网: CAN with Flexible Data Rate (CAN FD) (xilinx.com) 特征: 支持8Mb/s的CANFD多达 3 个数据位发送器延迟补偿(TDC, transmitter delay compensation)32-deep T…

在Linux/Ubuntu/Debian中设置字体

下载字体。 下载你喜欢的字体&#xff0c;双击并安装。 之后更新字体缓存&#xff1a; fc-cache -f -v安装 GNOME 调整。 GNOME Tweaks 是一个工具&#xff0c;允许你自定义 GNOME 桌面环境的各个方面&#xff0c;包括字体。 如果你还没有安装 GNOME Tweaks&#xff1a; …

PLC实验—西门子S7 1200读取旋转编码器数据并计算电机转速

PLC实验—西门子S7 1200读取旋转编码器数据并计算电机转速 注意PTO控制步进电机实验博途软件需要V14版本&#xff0c;不然没有PTO功能块 软件的下载请点击下方百度网盘的链接 链接&#xff1a;https://pan.baidu.com/s/11mQFVnaQxrUy4W9nGIk8Jw 提取码&#xff1a;6lva 详细的…

ubuntu20.04上获取Livox Avia雷达点云数据

若拿到手的Livox Avia激光雷达不知道它的ip信息&#xff0c;可以在官网上LiDAR Sensors - Livox下载上位机软件Livox Viewer&#xff0c;查看IP&#xff0c;下载window版本就可以。雷达通过网线连上电脑后&#xff0c;该软件就可以自动识别出来。按照下图步骤&#xff0c;就可以…

高性能 数据库连接池 HikariCP | HikariCP 配置详解

👀 上节回顾:上一节对 HikariCP 数据源进行了构造。 👉 本节目标:了解构造 HikariCP 数据源的配置的含义,便于更好、更合理的配置 HikariCP。 HikariCP 对配置进行了思考,为开发人员们提供了一些明智的默认配置,所以大多数情况下,我们是不需要调整配置的。除了基本配…

【功能大全】手机短信验证码一键注册登录流程

目录 发送验证码 注册登录 用户表设计 ​编辑申请腾讯云短信与密钥 找到云短信服务 开通腾讯云短信服务 ​编辑​​​​​创建短信签名 ​编辑​编辑创建短信正文模版​编辑​编辑 等待审核 测试短信​编辑 SDK密钥创建 SpringBoot集成腾讯云短信 pom中导入腾讯云短…

二分查找的梳理——边界初始值、循环条件、边界更新

文章目录 1 来源2 思考2.1 区间的选择——由区间决定写法2.2 重点&#xff1a;右边界初始值、循环条件、边界更新2.3 两种写法详解2.3.1 左闭右闭的写法2.3.2 左闭右开的写法 1 来源 手把手带你撕出正确的二分法 | 二分查找法 | 二分搜索法 | LeetCode&#xff1a;704. 二分查…

学习笔记-华为IPD转型2020:1,IPD的重要意义

华为产品开发转型&#xff1a;IPD计划 大多数公司发现&#xff0c;当公司大幅增长时&#xff0c;在较小规模上有效的管理实践不再有效。产品开发过程也是如此。随着华为的发展&#xff0c;该公司遇到了产品故障率更高、开发周期更长和研发成本增加等问题。然后&#xff0c;它转…

LeetCode 2885.重命名列

DataFrame students ------------------- | Column Name | Type | ------------------- | id | int | | first | object | | last | object | | age | int | ------------------- 编写一个解决方案&#xff0c;按以下方式重命名列&#xff1a; id 重命名为 student_id first 重…

Tomcat数据源笔记

Tomcat数据源笔记 连接池的概念 连接池是一种由容器提供的机制&#xff0c;用于管理数据库连接对象的集合。连接池的主要作用是在应用程序需要与数据库进行交互时&#xff0c;提供可复用的连接对象&#xff0c;从而减少每次建立数据库连接的开销。 连接池的工作原理 连接池的…

软件工程---原型评价

在原型被构建后&#xff0c;由开发人员组织实施测试&#xff0c;测试是原型评价的一个重要组成部分。 但是测试用例一般不能发现所有的缺陷&#xff0c;所以说测试也不是万能的。 Dam和Siang提出了几个获取原型反馈的最佳实践技巧&#xff1a; 1. 在要求原型反馈时提供框架素…

小米汽车SU7定档发布,雷军携智能科技赴三年之约

大家好&#xff01; 我是老洪。 刚刚浏览到一则关于小米汽车的新闻&#xff0c;内容颇为引人关注。 小米SU7&#xff0c;这款备受期待的新能源汽车&#xff0c;已经正式定档在3月28日发布。 雷军&#xff0c;小米的掌舵人&#xff0c;已经明确表示&#xff0c;他们对即将到来的…

【LeetCode】739. 每日温度(中等)——代码随想录算法训练营Day58

题目链接&#xff1a;739. 每日温度 题目描述 给定一个整数数组 temperatures &#xff0c;表示每天的温度&#xff0c;返回一个数组 answer &#xff0c;其中 answer[i] 是指对于第 i 天&#xff0c;下一个更高温度出现在几天后。如果气温在这之后都不会升高&#xff0c;请在…

ElementUI自定义主题

文档&#xff1a; https://element.eleme.io/#/zh-CN/component/custom-theme 方式一&#xff1a;在项目中改变 SCSS 变量 element-variables.scss /* 改变主题色变量 */ $--color-primary: teal;/* 改变 icon 字体路径变量&#xff0c;必需 */ $--font-path: ~element-ui/l…

k8s基本使用(namespace,pod增删查)-持续更新中

目录 1. 查看Namespace 2. 创建Namespace 2.1 使用纯命令行创建 2.2 编写yaml文件创建 3. 删除Namespace 3.1 使用纯命令行删除 3.2 使用yaml文件删除 二、Pod 1. 查看pod 1.1 查看默认空间的pod 1.2 查看指定空间的pod 1.3 查看全部pod 1.4 查看pod更多信息 1…

leetcode-hot100-矩阵

73. 矩阵置零 给定一个 _m_ x _n_ 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 **输入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a;[[1,0,1],[0,0,0],[1,0,1]] 两次遍历&#xff0c;第一…

springboot265基于Spring Boot的库存管理系统

基于Spring Boot库存管理系统 Inventory Meanagement System based on Spring Boot 摘 要 当下&#xff0c;如果还依然使用纸质文档来记录并且管理相关信息&#xff0c;可能会出现很多问题&#xff0c;比如原始文件的丢失&#xff0c;因为采用纸质文档&#xff0c;很容易受潮…

【读论文】【精读】3D Gaussian Splatting for Real-Time Radiance Field Rendering

文章目录 1. What&#xff1a;2. Why&#xff1a;3. How&#xff1a;3.1 Real-time rendering3.2 Adaptive Control of Gaussians3.3 Differentiable 3D Gaussian splatting 4. Self-thoughts 1. What&#xff1a; What kind of thing is this article going to do (from the a…

图片和PDF 加水印去水印

图片和PDF 加水印去水印 前要1. 图片加水印1.1 方法11.2 方法2 2. 去水印3. pdf加水印4. pdf 去水印 前要 网上查了很多资料, 汇总了几个不错的代码, 顺便做个笔记 1. 图片加水印 1.1 方法1 简单方便, 后也好处理 # -*- coding:utf-8 -*- import os from PIL import Imag…