5.2 Python if语句
5.2.3 检查是否不相等
要判断两个值是否不等,可结合使用惊叹号和等号(!=),其中的惊叹号表示不,在很多编程语言中都如此。下面再使用一条if语句来演示如何使用不等运算符。我们将把要求的比萨配料存储在一个变量中,再打印一条消息,指出顾客要求的配料是否是意式小银鱼(anchovies ):
requested_topping = 'mushrooms'if requested_topping != 'anchovies':print("Hold the anchovies!")第三行的代码行将requested_topping的值与'anchovies'进行比较,如果它们不相等,Python将返回True,进而执行紧跟在if语句后面的代码;如果这两个值相等,Python将返回False,因此不执行紧跟在if语句后面的代码。由于requested topping的值不是'anchovies',因此执行print语句:
Hold the anchovies!
你编写的大多数条件表达式都检查两个值是否相等,但有时候检查两个值是否不等的效率更高。
5.2.4 比较数字
检查数值非常简单,例如,下面的代码检查一个人是否是18岁:
>>>age = 18
>>>age == 18
True你还可以检查两个数字是否不等,例如,下面的代码在提供的答案不正确时打印一条消息:
answer = 17if answer != 42:print("That is not the correct answer.Please try again!")answer(17)不是42,第三行的条件得到满足,因此缩进的代码块得以执行:
That is not the correct answer.Please try again!
条件语句中可包含各种数学比较,如小于、小于等于、大于、大于等于:
>>>age = 19
>>>age < 21
True
>>>age <= 21
True
>>>age > 21
False
>>>age >= 21
False在if语句中可使用各种数学比较,这让你能够直接检查关心的条件。
5.2.5 检查多个条件
你可能想同时检查多个条件,例如,有时候你需要在两个条件都为True时才执行相应的操作,而有时候你只要求一个条件为True时就执行相应的操作。在这些情况下,关键字and和or可助你一臂之力。
1.使用and检查多个条件
要检查是否两个条件都为True,可使用关键字and将两个条件测试合二为一;如果每个测试都通过了,整个表达式就为True;如果至少有一个测试没有通过,整个表达式就为False。
例如,要检查是否两个人都不小于21岁,可使用下面的测试:
>>>age_0 = 22
>>>age_1 = 18
>>>age_0 >= 21 and age_1 >= 21
False
>>>age_1 = 22
>>> age_0 >= 21 and age_1 >= 21
True在第一行,我们定义了两个用于存储年龄的变量: age_o和age_1。在第三行,我们检查这两个变量是否都大于或等于21; 左边的测试通过了,但右边的测试没有通过,因此整个条件表达式的结果为False。在第五行,我们将age_1改为22,这样age_1的值大于21,因此两个测试都通过了,导致整个条件表达式的结果为True。 为改善可读性,可将每个测试都分别放在一对括号内,但并非必须这样做。如果你使用括号测试将类似于下面这样:
(age_0 >= 21) and (age_1 >= 21)使用or检查多个条件
关键字or也能让你检查多个条件,但至少有一个条件满足,就能通过整个测试。仅当两个测试都没有通过时,使用or的表达式才为False。
下面再次检查两个人的年龄,但检查的条件是至少有一个人的年龄不小于21岁:
>>>age_0 = 22
>>>age_1 = 18
>>>age_0 >= 21 or age_1 >= 21
True
>>>age_0 = 18
>>>age_0 >= 21 or age_1 >= 21
False5.2.6 检查特定值是否包含在列表中
有时候,执行操作前必须检查列表是否包含特定的值。例如,结束用户的注册过程前,可能需要检查他提供的用户名是否已包含在用户名列表中。在地图程序中,可能需要检查用户提交的位置是否包含在已知位置列表中。**要判断特定的值是否已包含在列表中,可使用关键字in。**来看你可能为比萨店编写的一些代码:这些代码首先创建一个列表,其中包含用户点的比萨配料,然后检查特定的配料是否包含在该列表中。
>>>requested_toppings = ['mushrooms','onions','pineapple']
>>>'mushrooms' in requested_toppings
True
>>>'pepperoni' in requested_toppings
False5.2.7 检查特定值是否不包含在列表中
还有些时候,确定特定的值未包含在列表中很重要;在这种情况下,可使用关键字not in。例如,如果有一个列表,其中包含被禁止在论坛上发表评论的用户,就可在允许用户提交评论前检查他是否被禁言:
banned_users = ['andrew','carolina','david']
user = 'marie'if user not in banned_users:print(user.title()+",you can post a response if you wish.")第三行的代码行明白易懂:如果users的值未包含在列表banned_users中,Python将返回True,进而执行缩进的代码行。
用户’marie’未包含在列表banned_users中,因此她将看到一条邀请她发表评论的消息:
Marie,you can post a response if you wish.
相关文章:
5.2 Python if语句
5.2.3 检查是否不相等要判断两个值是否不等,可结合使用惊叹号和等号(!),其中的惊叹号表示不,在很多编程语言中都如此。下面再使用一条if语句来演示如何使用不等运算符。我们将把要求的比萨配料存储在一个变量中,再打印一条消息&am…...
ubuntu gerrit 配置
1 - 简介 参考地址: https://www.cnblogs.com/anliven/p/12019974.html https://www.cnblogs.com/anliven/p/11980432.html 虽然Gerrit 本身提供 Code Review和 Git 仓库的两大功能,但实际上很多项目用的是其他的Git仓库,例如GitLab和GitHub。 一般情况下,Gerrit位于最终…...
运动蓝牙耳机什么牌子好,运动蓝牙耳机品牌推荐
现在市面上运动耳机的品牌越来越多,还不知道选择哪一些运动耳机品牌,可以看看下面的一些耳机分享,运动耳机需要注意耳机的参数配置以及佩戴舒适度,根据自己最根本的使用需求来选择运动耳机。 1、南卡Runner Pro4骨传导蓝牙运动耳…...
(7)C#传智:方法及参数、重载(第7天)
一、方法作用域 被调用者需要调用者的值,方法有二: 1.传参数. private static void Main(string[] args){int m 3;Console.WriteLine(m);Console.ReadKey();}public static int GetMax(int m){return m 3;} 2.使用静态字段模拟全局. 多个方法都需要时&#x…...
Python 函数式编程
函数式编程:允许把函数本身作为参数传入另一个函数,还允许返回一个函数! 1.高阶函数 一个函数可以接收另一个函数作为参数,这种函数称之为高阶函数 abs(-10) 是函数调用 abs是函数本身 abs函数名其实是一个变量名 变量可以…...
pandas读取EXCEL列名重复问题解决——pandas设置多行为列名(多层列名)
问题呈现 这是我在问答区看到的一个问题。 问:在python中使用pandas读取Excel数据,重复数据被区分了,如何做到重复数据不被区分? 解决思路 很明显,这是pandas读取excel文件时列名设置问题,我第一时间想…...
CMake常用语法
1. cmake_minimum_required(VERSION 3.4.1) 指定需要的最小的cmake版本 2. aux_source_directory 查找源文件并保存到相应的变量中: #查找当前目录下所有源文件并保存至SRC_LIST变量中 aux_source_directory(. SRC_LIST)3. add_library 3.1 添加一个库 add_library(<n…...
Java知识复习(一)基础知识
1、什么是JVM、JDK和JRE? JVM是指运行Java字节码的虚拟机。而字节码文件指的就是扩展名为.class的文件,JDK指功能齐全的Java SDK,能够创建和编译程序JRE指Java运行的环境,包括JVM、类库和命令等 2、重载和重写的主要区别 重载&…...
springboot+vue.js校园车辆用车预约管理系统
springboot是基于spring的快速开发框架, 相比于原生的spring而言, 它通过大量的java config来避免了大量的xml文件, 只需要简单的生成器便能生成一个可以运行的javaweb项目, 是目前最火热的java开发框架 前端技术:nodejsvueelementui本项目的应用场景描述如下&…...
【 K8s 源码之调度学习】Pod 间亲和性和反亲和性的源码分析
查看案例 字段含义podAffinityPod 间的亲和性定义podAntiAffinityPod 间的反亲和性定义requiredDuringSchedulingIgnoredDuringExecution硬性要求,必须满足条件,保证分散部署的效果最好使用用此方式preferredDuringSchedulingIgnoredDuringExecution软性…...
计及绿证交易及碳排放的含智能楼宇微网优化调度(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
场景扩展,体验升级 | DBMotion新增无公网数据库迁移、支持监控报警等多项功能
丝滑的零停机数据库在线迁移工具——DBMotion,又双叒叕发新版:新增的网关、数据源功能,让你无公网IP的数据库也可以迁移;新增的监控功能,让你对迁移性能一目了然;新增的报警功能,让你及时获得同…...
【正点原子FPGA连载】第十五章eMMC读写测试实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南
1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id692450874670 3)全套实验源码手册视频下载地址: http://www.openedv.com/thread-340252-1-1.html 第十五章eMMC读写…...
i2c子系统
i2c 硬件协议 Linux 应用层读写i2c 数据 在Linux系统上,不仅可以在内核中使用 i2c 总线发送、接收数据,同时也支持应用层使用i2c 总线发送、接收。 如果在内核中使能了drivers/i2c/i2c-dev.c 配置,内核就会为每一个i2c 控制器生成一个/dev/…...
【K3s】第17篇 Helm版本和支持的Kubernetes版本对照表
目录 Helm版本和支持的Kubernetes版本对照表 Helm版本和支持的Kubernetes版本对照表 描述了在Helm和Kubernetes之间支持的最大版本偏差。 Helm的版本用 x.y.z 描述,x是主版本,y是次版本,z是补丁版本。 当一个Helm的新版本发布时࿰…...
如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai
如何自己搭建一个ai画图系统? 从0开始云服务器部署novelai 上面两张图都是通过ai生成的,是不是有以假乱真的感觉。 本教程提供的是自己搭建一个可以外网访问的ai系统的方法,需要采购gpu服务器(后续会出白嫖的方式)&…...
SpringSecurity过滤请求导致的系统bug
背景 今天开发一个新的会员管理系统,继承了SpringSecurity的,用以控制权限。结果无论怎么配置,都会报错:An Authentication object was not found in the SecurityContext 这句话的意思很明确:指的就是在SecurityCon…...
css\js\vue知识点
1.css3新特性 css3新特性 1)选择器 2)阴影 3)形状转换(2D <-> 3D) 4)变形 5)动画(过渡动画、帧动画) 6)边框 7)多重背景 8)反…...
在vue项目中使用video.js实现视频播放和视频进度条打点
一、用video.js实现视频播放 1、安装video.js插件 // 安装video.js插件 npm install video.js -S // 如果需要播放rtmp直播流,需安装一下插件 npm install videojs-flash -S 2、在组件代码里使用 <template><div data-vjs-player><video ref&quo…...
【代码训练营】day41 | 01背包问题 416. 分割等和子集
所用代码 java 01背包理论 背包最大重量为:4 重量价值物品0115物品1320物品2430 暴力:O(2^n) 动态规划: 1、二维dp数组 dp[i] [j] dp数组含义:[0, i]物品,任取放进容量为j的背包里的最大价值 递推公式:…...
云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...
Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
MySQL 知识小结(一)
一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库,分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷,但是文件存放起来数据比较冗余,用二进制能够更好管理咱们M…...
【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...
push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...
Unity UGUI Button事件流程
场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...
日常一水C
多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...
