9. python的if语句
文章目录
- 一、if结构
- 1.1 比较符号
- 1.1.1 使用`==`比较两个数据是否相等:
- 1.1.2 使用`!=`号比较数据是否不相等
- 1.1.3 使用`<`号比较数字大小关系
- 1.1.4 使用`<=`号比较数字大小关系
- 1.1.5 使用`>`号比较数字大小关系
- 1.1.6 使用`>=`号比较数字大小关系
- 1.2 关键字
- 1.2.1 `and`关键字
- 1.2.2 `or`关键字
- 二、if-else结构
- 三、if-elif-else结构
- 四、else语句特别说明
- 五、代码运行方式
有时,我们需要判断某个变量是否符合给定条件,if语句能判断对象是否符合条件,并根据判断结果进行相应操作。
一、if结构
if 1==1:print(1==1)
- if语句后,用于判断的语句,称为:条件测试
- 条件测试的结果有且仅有:
True或False - if语句以冒号结尾
- 满足if语句后执行的代码块,需要缩进
1.1 比较符号
1.1.1 使用==比较两个数据是否相等:
#对字符串进行比较
if 'abc' == 'aBC':print(1)
if 'abc' == 'abc':print(2)
- 要给字符串加上引号,否则,python将认为abc和aBC是变量
==用于对比的时候,是识别大小写的。
1.1.2 使用!=号比较数据是否不相等
if 'abc' != 'aBC':print(1)print('test !')
1.1.3 使用<号比较数字大小关系
if 12 < 13:print(12)print('test !')
1.1.4 使用<=号比较数字大小关系
if 13 <= 13:print(13)print('test !')
1.1.5 使用>号比较数字大小关系
if 14 > 13:print(14)print('test !')
1.1.6 使用>=号比较数字大小关系
if 14 >= 14:print(14)print('test !')
1.2 关键字
当我们需要在一个 if语句中,对比两个或更多的条件,就需要使用关键字来连接多个条件。
1.2.1 and关键字
and关键字要求其两端的条件测试的结果都为True,才能通过if语句的判断。
if 12 > 13 and 14 < 15:print(1)print(2)
1.2.2 or关键字
or关键字,只要两端的条件测试中有一个结果True,则满足条件。
if(2 == 3 or '123' == print('456')):print('test !')
运行结果:

修改if语句,如下:
#关键字or
if(2 == 2 or '123' == print('456')):print('test !')
运行结果:

根据两次运行结果,可知:当关键字or前一个条件测试结果为True,将不再测试后面的条件。
建议:若已知两个条件在代码运行中的大致出现频率,则将出现频率高的条件写到or关键字前面。
二、if-else结构
if 12 == 13:print('yes')
#所有不满足if语句条件,都将执行else指定操作
else:print('no')
- else语句,需要使用冒号结尾
- else语句对应代码块,需要缩进
三、if-elif-else结构
if 12 == 13:print(1)
elif 12 < 13:print(2)
else:print(3)
- elif语句,要用冒号结尾
- elif语句,在if语句后加入其他的条件测试
- elif语句对应的代码块,需要缩进
- 只能有1个if语句、1个else语句,但两者之间可以写多个elif语句
四、else语句特别说明
- 只要不满足
if和elif的条件,就能执行else的代码。 - 一旦有无效甚至恶意的数据,在不满足给定条件后,都会执行
else对应的代码,使程序产生难以预料的问题。 - else包含了所有不满足条件的情况,导致代码用意表达不清晰
age = 12if age < 4:price = 0
elif age < 18:price = 5
elif age < 65:price = 10
#所有不满足条件情况都将进入else代码块
else:price = 5print('your admission cost: $' + str(price))
放弃使用else,修改为使用elif:
age = 12if age < 4:price = 0
elif age < 18:price = 5
elif age < 65:price = 10
#使用elif,清晰表达出这是对65岁及以上人群的处理情况
elif age >= 65:price = 5print('your admission cost: $' + str(price))
并非不能用else。而是需要考虑:用else会不会埋下隐患,会不会表意不清。
五、代码运行方式
if-else和if-elif-else的代码结构在运行时,满足了某个条件,并执行完该条件对应代码块后,就会跳出整个结构,执行后续代码。
相关文章:
9. python的if语句
文章目录 一、if结构1.1 比较符号1.1.1 使用比较两个数据是否相等:1.1.2 使用!号比较数据是否不相等1.1.3 使用<号比较数字大小关系1.1.4 使用<号比较数字大小关系1.1.5 使用>号比较数字大小关系1.1.6 使用>号比较数字大小关系 1.2 关键字1.2.1 and关键…...
并发编程的基础知识
并发编程的优缺点 充分利用多核CPU的计算能力:通过并发编程的形式可以将多核CPU的计算能力发挥到极致,性能得到提升方便进行业务拆分,提升系统并发能力和性能:在特殊的业务场景下,先天的就适合于并发编程。现在的系统动…...
C 语言风格的字符串,非 string 类如何初始化字符串,以及操作字符串的函数(C++复习向p12)
C 风格的字符串 以 C 风格初始化字符串,有这 2 种方法。其中的 ‘\0’ 是字符串结束符号,是 null 字符 char site[7] {R, U, N, O, O, B, \0}; char site[] "RUNOOB";C 中操作字符串的函数 (以null结尾的字符串) strcpy(s1, s2) 把 s2 复…...
Linux文件系统、磁盘I/O是怎么工作的?
同CPU、内存一样,文件系统和磁盘I/O,也是Linux操作系统最核心的功能。磁盘为系统提供了最基本的持久化存储。文件系统则在磁盘基础上,提供了一个用来管理文件的树状结构。 目录: 一. 文件系统 1. 索引节点和目录项 2. 虚拟文件系…...
设计原则之接口隔离原则
tip: 需要《设计模式之禅》的书籍,可以联系我 作为程序员一定学习编程之道,一定要对代码的编写有追求,不能实现就完事了。我们应该让自己写的代码更加优雅,即使这会费时费力。 相关规则: 1.6大设计规则-迪米特法则 …...
ubuntu20.04 ffmpeg mp4转AES加密的m3u8分片视频
样本视频(时长2分35秒): 大雄兔_百度百科 大雄兔_百度百科不知大家否看过世界上第一部开源电影:Elephants Dream(大象之梦)。这是一部由主要由开源软件Blender制作的电影短片,证明了用开源软件也能制作出效果媲美大公司的作品。…...
Java08——继承
1. 继承 父类: package com.zsq.extend.improve_; //是pupil和graduate的父类 public class Student {public String name;public int age;private double score;public void info(){System.out.println("姓名:" name " 年龄࿱…...
C++高级语法
文章目录 C高级语法面向对象 -- 类/结构体抽象-具体类型 标准I/O流I/O流I/O缓存区 文件操作头文件的重复包含问题深拷贝和浅拷贝,写时复制面向对象的三大特性面向对象是什么 C高级语法 面向对象 – 类/结构体 C使用class定义一个类,使用struct定义一个…...
React学习笔记九-高阶函数与函数柯里化
此文章是本人在学习React的时候,写下的学习笔记,在此纪录和分享。此为第九篇,主要介绍高阶函数与函数柯里化。 高阶函数,和函数的柯里化,是学习react的拓展,方便以后优化代码,更好的学习react。…...
2023年电工杯B题半成品论文使用讲解
注:蓝色字体为说明备注解释字体,不能出现在大家的论文里。黑色字体为论文部分,大家可以根据红色字体的注记进行摘抄。该文件为半成品论文,即引导大家每一步做什么,怎么做,展示按着本团队的解题思路进行建模…...
第1关:ODBC程序设计
第1关:ODBC程序设计 任务描述相关知识ODBC主要功能ODBC接口主要函数ODBC应用程序开发实例DM ODBC应用程序开发总体流程DM ODBC代码编写流程DM ODBC代码编写实例 编程要求测试说明代码参考: 任务描述 本关任务:使用 ODBC 查询表中数据。 相关…...
Kotlin笔记(零)简介
百度百科简介 2017年,google公司在官网上宣布Kotlin成为Android的开发语言,使编码效率大增。Kotlin 语言由 JetBrains 公司推出,这是一个面向JVM的新语言 参考资料 官网:https://kotlinlang.org/中文官网:https://w…...
android 12.0去掉usb授权提示框 默认给予权限
1.概述 在12.0的系统rom产品开发中,在进行iot开发过程中,在插入usb设备时会弹出usb授权提示框,也带来一些不便,这个需要默认授予USB权限,插拔usb都不弹出usb弹窗所以这要从usb授权相关管理页默认给与usb权限 2.去掉usb授权提示框 默认给予权限的相关代码 frameworks/bas…...
工作积极主动分享,善于业务沟通
工作积极主动分享,善于业务沟通 目录概述需求: 设计思路实现思路分析1.工作积极主动承担责任2.善于沟通3.一起常常lauch 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy,…...
Opencv-C++笔记 (1) : opencv的数据结构
文章目录 一、OPNECV元素1.CvPoint2、模板类Size模版类Rect模版类RotatedRect模版类 二、MAT1.使用(nrows, ncols, type),初始化2维矩阵如果需要深拷贝,则使用clone方法。 三、Vec类 一、OPNECV元素 1.CvPoint 为了方便使用,opencv又对常用的…...
什么是时间复杂度?
时间复杂度定义:在计算机科学中,时间复杂性,又称时间复杂度,算法的时间复杂度是一个函数,它定性描述该算法的运行时间。这是一个代表算法输入值的的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的…...
Spring框架中有哪些不同类型的事件
Spring框架中有哪些不同类型的事件 Spring框架中有哪些不同类型的事件 Spring框架中有哪些不同类型的事件 Spring 提供了以下5种标准的事件: 上下文更新事件(ContextRefreshedEvent):在调用ConfigurableApplicationContext 接口…...
Codeforcs 1732C2 暴力
题意 传送门 Codeforcs 1732C2 题解 方便起见,区间表示为左闭右开。观察到 f ( l , r ) ≥ f ( l ′ , r ′ ) , [ l ′ , r ′ ) ∈ [ l , r ) f(l,r)\geq f(l,r),[l,r)\in [l,r) f(l,r)≥f(l′,r′),[l′,r′)∈[l,r),满足单调性,则 […...
Python安全和防护:如何保护Python应用程序和用户数据的安全
章节一:引言 在当今数字化时代,数据安全是一个极其重要的话题。随着Python的广泛应用和越来越多的人使用Python构建应用程序,保护Python应用程序和用户数据的安全变得尤为重要。本文将介绍一些关键的Python安全问题,并提供一些保…...
[转载]Nginx 使用 X-Accel-Redirect 实现静态文件下载的统计、鉴权、防盗链、限速等
需求 统计静态文件的下载次数;判断用户是否有下载权限;根据用户指定下载速度;根据Referer判断是否需要防盗链;根据用户属性限制下载速度; X-Accel-Redirect This allows you to handle authentication, logging or …...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
C# 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
springboot 日志类切面,接口成功记录日志,失败不记录
springboot 日志类切面,接口成功记录日志,失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...
软件工程 期末复习
瀑布模型:计划 螺旋模型:风险低 原型模型: 用户反馈 喷泉模型:代码复用 高内聚 低耦合:模块内部功能紧密 模块之间依赖程度小 高内聚:指的是一个模块内部的功能应该紧密相关。换句话说,一个模块应当只实现单一的功能…...
Kubernetes 节点自动伸缩(Cluster Autoscaler)原理与实践
在 Kubernetes 集群中,如何在保障应用高可用的同时有效地管理资源,一直是运维人员和开发者关注的重点。随着微服务架构的普及,集群内各个服务的负载波动日趋明显,传统的手动扩缩容方式已无法满足实时性和弹性需求。 Cluster Auto…...
