Python---if选择判断结构、嵌套结构(if elif else)

1、if选择判断结构作用

if  英 /ɪf/    conj. (表条件)如果;(表假设)要是,假如;无论何时;虽然,即使;(用于间接疑问)是否;(用于礼貌问询)是否;当,每次;(与情态动词连用)表婉转客气;这不是……,要是……多好;或许不;就算;尽管

n. 条件,设想;不确定的情况

在日常开发中,只要有需要进行条件判断的语句基本上都是选择判断结构。

应用场景:

如果年龄大于等于18岁,则可以正常上网。

如果考研成绩大于300分,则可以顺利进入复试。

2、if选择判断结构的基本语法

Java:

if (条件判断) {则执行某段代码...
}

但是Python中,不需要使用这么多复杂的符号,直接可以编写条件判断及执行某段代码

Python:

案例代码:

if True:
    print('条件成立执行的代码1')
    print('条件成立执行的代码2')

# 下方的代码没有缩进到if语句块,所以和if条件无关
print('我是无论条件是否成立都要执行的代码')

图示

3、if选择结构案例

需求:定义一个变量age = 18,判断这个变量是否大于等于18岁,如果满足条件,则可以上网。

案例1直接定义判断,进行条件判断

age = 18
if age >= 18:
    print('满足18岁要求,可以正常上网')

案例2:上网吧案例升级版---------你自己输入数据,然后判断

age = int(input('请输入您的年龄:'))
if age >= 18:
    print('满足18岁要求,可以正常上网')

if选择原理图:学编程除了会写代码还不行,还要回画图(流程图

4、if...else...结构

else  英 /els/     adv. 此外,其他;否则,要不然   adj. 其他的,另外的

基本语法:

if 条件判断:
    当条件判断True时,则执行这个语句段
else:
    当条件判断False时,则执行这个语句段

案例3:上网吧案例升级升级版,引入else

age = int(input('请输入您的年龄:'))
if age >= 18:
    print('满足18岁要求,可以正常上网')
else:
    print('不满足18岁要求,回家好好学习,天天向上')

代码输出图示:

if...else...结构原理图

5、if...elif...else多条件判断结构

elif 否则如果

if elif else 条件语句前提语句

基本语法:


如果条件1成立,则执行语句段1

如果条件2成立,则执行语句段2

...

当所有条件都不成立时,则执行else语句段中的内容


if 条件判断1:
    如果此条件为True,则执行这个语句段
elif 条件判断2:
    如果此条件为True,则执行这个语句段
elif ...:
    ...
else:
    如果以上所有条件判断都不满足时,则执行这个语句段


案例:

① 中国合法工作年龄为18-60岁,即如果年龄小于18的情况为童工,不合法;

② 如果年龄在18-60岁之间为合法工龄;

③ 大于60岁为法定退休年龄。

代码:

# 定义一个变量,接收用户输入的年龄
age = int(input('请输入您的年龄:'))
if age < 18:
    print('你还是一个童工,回去好好学习')
elif age >= 18 and age <=60:
    print('合法工龄,可以正常工作')
elif age > 60:
    print('您已经达到了退休年龄,回家好好休息')
else:
    print('信息输入有误,请重新输入')

简写形式:

# 定义一个变量,接收用户输入的年龄
age = int(input('请输入您的年龄:'))
if age < 18:
    print('你还是一个童工,回去好好学习')
elif 18 <= age <= 60:
    print('合法工龄,可以正常工作')
elif age > 60:
    print('您已经达到了退休年龄,回家好好休息')
else:
    print('信息输入有误,请重新输入')

if多重条件判断原理图

6、if嵌套结构

基本语法:


if 外层条件判断:
    # 如果条件为True,则执行以下语句段
    if 内层条件判断:
        # 如果内层条件为True,则执行以下语句段
else:
    # 如果条件为False,则执行以下语句段


嵌套结构看起来异常复杂,但是我们在编写时要遵循一个原则写外层判断,所有语句编写完成后,写内层条件判断结构。


案例:外层条件①,是否有钱,有钱可以上车。内层条件 ② 判断是否有空座位,如果有,则可以坐下。

继续补充里面的嵌套部分

代码:


"""
根据条件(是否有钱)判断是否可以上车
money = 0 没钱
money = 1 有钱
"""
money = 1
seat = 0
if money == 1:
    # 有钱,可以上车
    print('有钱,可以上车')
    # if嵌套(seat = 1代表有空座,seat = 0代表没有空座)
    if seat == 1:
        # 有座位,可以坐下
        print('有座位,可以坐下')
    else:
        # 没有座位,只能站着回家了
        print('没有座位,只能站着回家了')
else:
    # 没钱,只能走路回家了
    print('没钱,只能走路回家了')


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

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

相关文章

gorm 中的事务运用

使用背景 在编写业务代码的过程中,如果涉及到多张表的更新操作,为了确保数据的一致性,我们会在业务代码的过程中加上事务的控制,那么针对go 语言中,如果我们使用gorm框架改如何操作呢? gorm中使用事务的几种方式 方式一(业务层事务)func NewTransaction() *gorm.DB {re…

uniapp-vue3-微信小程序-标签选择器wo-tag

采用uniapp-vue3实现, 是一款支持高度自定义的标签选择器组件&#xff0c;支持H5、微信小程序&#xff08;其他小程序未测试过&#xff0c;可自行尝试&#xff09; 可到插件市场下载尝试&#xff1a; https://ext.dcloud.net.cn/plugin?id14960 使用示例 <template>&…

Android app应用连接WiFi的方法(兼容Android10)

Android应用开发有时候会有应用直连app的需求&#xff0c;由于Android系统 api会时常变动&#xff0c;wifi连接api亦如此&#xff0c;Android10以下直接使用&#xff1a; WifiConfiguration configured isExist(ssid);if (configured ! null) {//在配置表中找到了&#xff0c;…

System.exit()方法参数

说明文档&#xff1a;System (Java Platform SE 8 ) 终止当前正在运行的Java虚拟机。该参数用作状态代码&#xff1b;按照惯例&#xff0c;非零状态码表示异常终止。 此方法调用类Runtime中的exit方法。此方法从不正常返回。 调用System.exit&#xff08;n&#xff09;实际上等…

Android MediaCodec将h264实时视频流数据解码为yuv,并转换yuv的颜色格式为nv21

初始化mediacodec //宽高根据摄像头分辨率设置private int Width 1280;private int Height 720;private MediaCodec mediaCodec;private ByteBuffer[] inputBuffers;private void initMediaCodec(Surface surface) {try {Log.d(TAG, "onGetNetVideoData: ");//创建…

牛客:FZ12 牛牛的顺时针遍历

FZ12 牛牛的顺时针遍历 文章目录 FZ12 牛牛的顺时针遍历题目描述题解思路题解代码 题目描述 题解思路 通过一个变量来记录当前方向&#xff0c;遍历矩阵&#xff0c;每次遍历一条边&#xff0c;将该边的信息加入到结果中 题解代码 func spiralOrder(matrix [][]int) []int {…

MySQL中如何进行表的优化和压缩?

在MySQL中&#xff0c;可以通过以下方式进行表的优化和压缩&#xff1a; 使用合适的存储引擎&#xff08;Storage Engine&#xff09;&#xff1a;MySQL提供了多种存储引擎&#xff0c;如InnoDB、MyISAM等。不同的存储引擎在表的优化和压缩方面有不同的特点。例如&#xff0c;I…

Docker安装ES7.14和Kibana7.14(无账号密码)

一、Docker安装ES7.14.0 1、下载镜像 docker pull elasticsearch:7.14.0 2、docker安装7.14.0 mkdir -p /usr/local/elasticsearch/config mkdir -p /usr/local/elasticsearch/data chmod 777 -R /usr/local/elasticsearch/ echo "http.host: 0.0.0.0" >> /u…

IDEA中点击New没有Java Class

解决办法&#xff1a;右键src&#xff0c;也可以是其他文件名&#xff0c;点击Mark Directory as 点击Sources Root即可

【Java 进阶篇】JavaScript DOM Element 对象详解

JavaScript是一门广泛用于网页开发的脚本语言&#xff0c;而DOM&#xff08;文档对象模型&#xff09;是JavaScript在网页中操作HTML和XML文档的核心。DOM以树状结构表示文档&#xff0c;允许开发者以编程方式访问、操作和修改文档的内容和结构。在DOM中&#xff0c;Element对象…

海洋CMS仿爱美剧影视电影视频网站模版源码/自适应手机端

海洋CMS仿爱美剧网站模板&#xff0c;自适应手机端&#xff0c;内含视频、资讯、留言模块。 下载地址&#xff1a;https://bbs.csdn.net/topics/617419787

JUC并发编程——四大函数式接口(基于狂神说的学习笔记)

四大函数式接口 函数式接口&#xff1a;只有一个方法的接口 &#xff0c;例如&#xff1a;Runnable接口 Function 函数型接口&#xff0c;有一个输入参数&#xff0c;有一个输出 源码&#xff1a; /*** Represents a function that accepts one argument and produces a resul…

队栈

题目描述 Yazid 是一名 OI 初学者。他最近在研究基础数据结构:队列和栈。某天,Yazid 脑洞大开,发明了一种叫做“队栈”的数据结构。众所周知,队列是先进先出的数据结构,而栈是先进后出的数据结构。而 Yazid 发明的队栈则同时支持查询并删除其中 最早被插入的元素和最晚被插入的…

Postman简单使用

文章目录 一.接口测试流程二、Postman接口测试工具三、接口关联四、全局变量和环境变量 一.接口测试流程 拿到API接口文档&#xff08;从开发拿或者抓包获取&#xff09;&#xff0c;熟悉接口业务&#xff0c;接口地址&#xff0c;错误码等等 编写接口的测试用例以及评审 编写…

docker中使用GPU+rocksdb

配置环境 delldell-Precision-3630-Tower  ~  lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.6 LTS Release: 20.04 Codename: focaldelldell-Precision-3630-Tower  ~  nvcc --version nvcc: NVIDIA (R) Cuda comp…

【数据结构】排序--快速排序

目录 一 概念 二 快速排序的实现 1. hoare版本 (1)代码实现 (2)单趟排序图解 (3) 递归实现图解 (4)细节控制 (5)时间复杂度 (6)三数取中优化 2 挖坑法 (1)代码实现 (2)单趟图解 3 前后指针法 (1) 代码实现 (2) 单趟图解 ​编辑4 优化子区间 5 非递归快速排…

FPGA project : flash_write

本实验重点学习了&#xff1a; flash的页编程指令pp。 在写之前要先进行擦除&#xff08;全擦除和页擦除&#xff09;&#xff1b; 本实验&#xff1a;先传写指令&#xff0c;然后进入写锁存周期&#xff0c;然后传页编程指令&#xff0c;3个地址&#xff1b; 然后传数据&a…

【Java基础面试十五】、 说一说你对多态的理解

文章底部有个人公众号&#xff1a;热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享&#xff1f; 踩过的坑没必要让别人在再踩&#xff0c;自己复盘也能加深记忆。利己利人、所谓双赢。 面试官&#xff1a;说一说你对多态的理解 …

常见6种易被忽略的软件隐藏缺陷

软件隐藏缺陷常常会被测试人员忽略或遗漏&#xff0c;其往往会对项目的成功和用户体验产生不可忽视的负面影响&#xff0c;易造成软件数据泄露、系统崩溃或安全问题等&#xff0c;直接影响系统稳定性和用户满意度。 因此我们需要高度重视软件的隐藏缺陷&#xff0c;重视全面的软…

开源项目汇总

element-plus 人人开源 人人开源 多租户 若依 jeecg https://gitee.com/jeecg/jeecg?_fromgitee_search#https://gitee.com/link?targethttp%3A%2F%2Fidoc.jeecg.com jeeplus JeePlus快速开发平台 j2eefast Sa-Plus