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的背包里的最大价值 递推公式:…...
广州邮科如何为你的系统选择合适的在线式充电机?
设备运行最怕断电。在线式充电机,就是那个能让设备“永不断电”的充电神器。今天咱们用大白话,把它讲清楚。它到底是什么?简单说,就是能一边给设备供电,一边给电池充电的智能设备。设备不用停机,电池也能充…...
基于Qwen3.5-2B的操作系统概念学习助手
基于Qwen3.5-2B的操作系统概念学习助手 1. 为什么需要操作系统学习助手 计算机专业的学生在学习操作系统时,常常面临抽象概念难以理解、理论实践脱节的问题。传统教材中的进程、线程、死锁等概念,如果仅靠文字描述,往往让初学者感到晦涩难懂…...
Docker测试学习思路
Docker 核心概念学习与实战指南本文系统梳理 Docker 学习的核心思路与方法,用通俗类比帮助理解 Docker 的本质,涵盖镜像构建、容器运行、网络通信、数据持久化、资源限制五大核心能力,适合初学者建立清晰的 Docker 知识框架。一、Docker 到底…...
MTools开箱即用:5分钟在K8s部署Web版AI工具,图片音视频全能处理
MTools开箱即用:5分钟在K8s部署Web版AI工具,图片音视频全能处理 1. 为什么选择MTools Web版 MTools Web版是一款集成了图片处理、音视频编辑、AI智能工具和开发辅助功能的现代化工具套件。与传统的桌面软件不同,它可以直接在浏览器中运行&a…...
基于 stm32 智能水壶的设计与实现
收藏关注不迷路!! 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题),项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多…...
腾讯混元OCR实战体验:上传图片秒出文字,支持100多种语言识别
腾讯混元OCR实战体验:上传图片秒出文字,支持100多种语言识别 1. 产品概述与核心优势 1.1 什么是腾讯混元OCR 腾讯混元OCR是基于腾讯混元原生多模态架构开发的轻量化文字识别系统。这个工具最吸引人的地方在于,它只需要1B(10亿&…...
DeepSeek-OCR-2保姆级部署教程:5分钟在星图GPU平台一键搭建OCR服务
DeepSeek-OCR-2保姆级部署教程:5分钟在星图GPU平台一键搭建OCR服务 1. 为什么你需要这个OCR服务 如果你经常需要处理扫描文档、发票、合同或者各种纸质材料的数字化,肯定遇到过传统OCR工具的痛点——表格识别混乱、多栏文本顺序错乱、公式识别一塌糊涂…...
告别传统知识蒸馏:用‘逆向蒸馏’在MVTec数据集上实现98.5%的异常检测精度
逆向蒸馏:工业质检场景下的异常检测新范式 在工业质检领域,异常检测一直是计算机视觉技术落地的核心挑战之一。传统方法往往受限于样本不平衡、缺陷类型多样等问题,而基于深度学习的方案又面临标注成本高、泛化能力不足的困境。CVPR 2022提出…...
Redis 缓存三大坑:穿透、雪崩与布隆过滤器(新手入门指南)
开篇:为什么你必须懂这三个知识点?想象你开了一家奶茶店。顾客点单时,你会先看已经做好的成品区(缓存)有没有现成的奶茶,有就直接端走;没有再让后厨(数据库)现做。这个流…...
CYBER-VISION零号协议Markdown文档大师:替代Typora的智能写作体验
CYBER-VISION零号协议Markdown文档大师:替代Typora的智能写作体验 如果你和我一样,每天都要和Markdown文档打交道,那你肯定知道那种感觉:面对一个空白文档,脑子里有想法,但就是敲不出满意的句子࿱…...
