当前位置: 首页 > java >正文

pyhton基础【4】判断

一. if判断

if是用来进行判断的,其使用格式如下

if 要判断的条件:条件成立时,要做的事情示例代码如下:
age = 30
print('----if判断开始----')
if age >= 18:print('已经成年了')  # 当前代码处有缩进 缩进为4个空格 一个Tab键
print('----if判断结束----')

注意:

  • if判断总体来说:当条件满足后就要做某些事情,这些事情以及if它们是一个整体
  • 如果if条件成立后,要做的事情有很多,那么都需要在行首缩进四个空格(只需要敲一个tag键,Pycharm就会自动换行为四个空格)
age = 30
print('----if判断开始----')
if age >= 18:# 如果当前条件不成立则以下三句print都不会打印print('我已经成年了')print('我该懂事了')print('尽快学完python开发出去赚钱了')
print('----if判断结束----')  # 此处代码没有缩进 表示当前打印语句不在if语句控制范围之内,无论if条件是否成立都会执行执行结果:
------if判断开始------
我已经成年了
我该懂事了
尽快学完python开发出去赚钱了
------if判断结束------

说明:age的值是30,所以age >= 18的结果是True,所以就会执行三个print

age = 16
print("------if判断开始------")
if age >= 18:print("我已经成年了")
print("------if判断结束------")执行结果:
------if判断开始------
------if判断结束------

说明:age的值是16,所以age >= 18的结果是False,所以不会执行print("我已经成年了")

二. else与if配合使用
if 条件:满足条件时要做的事情1满足条件时要做的事情2满足条件时要做的事情3...(省略)...
else:不满足条件时要做的事情1不满足条件时要做的事情2不满足条件时要做的事情3...(省略)...
示例一:
ticket = True   # 用True代表有车票,False代表没有车票
if ticket == True:print("有车票,可以上火车")print("终于可以见到Ta了,美滋滋~~~")
else:print("没有车票,不能上车")print("亲爱的,那就下次见了")结果一:
有车票,可以上火车
终于可以见到Ta了,美滋滋~~~结果二:
没有车票,不能上车
亲爱的,那就下次见了

注意:

  • 无论是在if语句还是在else子句控制的代码之下都需要进行代码缩进!
要求:从键盘输入身高,如果身高没有超过150cm,则进动物园不用买票,否则需要买票。
提示:input获取的数据不是整数类型,需要用int()转换,例如int("100")结果就是整数100height = input("请输入身高:")  # 获取身高
height = int(height)  # 类型转换为整数,只有整数才能比较大小
if height <= 150:print("可以直接入园,无需购票")
else:print("请先购票,再入园")
三.elif使用

如果有这样一种情况:当条件一满足时做事件一条件二满足时做事件二条件三满足时做事件三,可以使用elif实现。

if 条件1:事情1
elif 条件2:事情2
elif 条件3:事情3
# ...省略N个条件...
elif 条件n:事情n
else:以上条件都不满足时执行的代码

说明一:执行流程

  • 当条件一满足时,执行事件一,然后整个if结束
  • 当条件一不满足条件二满足时,则执行事件二,然后整个if结束
  • 当条件一、条件二不满足条件三满足时,则执行事件三,然后整个if结束
  • 依次类推,如果条件一、条件二、条件三、条件n-1都不满足且条件n满足,则执行事件n,然后整个if结束
  • 如果没有任何条件满足,那么就执行else中的事件

说明二:else

  • else不是必须的,根据实际情况决定是否添加,如果所有条件满足时做的事情很明确,且没有全部都不满足的时候,此时就不用写
  • 如果当前能考虑的条件都有对应的代码,但不能保证所有条件都考虑到了,此时建议写上else
score = 77  # 定义变量存储分数if score >= 90 and score <= 100:  # 如果分数在90~100print('本次考试,等级为A')
elif score >= 80 and score < 90:  # 如果分数在80~90print('本次考试,等级为B')
elif score >= 70 and score < 80:  # 如果分数在70~80print('本次考试,等级为C')
elif score >= 60 and score < 70:  # 如果分数在60~70print('本次考试,等级为D')
elif score >= 0 and score < 60:  # 如果分数在60以下print('本次考试,等级为E')
else:  # 如果分数不在0~100之间,就认为错误print("分数有误...")

注意点

  • 在if判断中,最多只能有一个else,但可以有N个elif,必须有一个if。

下面的写法是错误的:

错误示范一:一个if最多有一个elseif 100 > 60:print("哈哈哈1")
else:print("哈哈哈2")
else:print("哈哈哈3")错误示范二:一个if判断必须有一个ifelse:print("哈哈哈2")

总结

到现在为止,if总体来说学习了三种:

  • 只判断一个条件,我们用if来实现
  • 可判断两个条件(满足、不满足),我们用if...else...来实现
  • 可以判断N个条件,我们用if...elif...elif...else...来实现
四. 嵌套判断

if嵌套的格式

if 条件一:满足条件一时可以做的事情满足条件一时可以做的事情...if 条件二:满足条件二时可以做的事情满足条件二时可以做的事情...

说明

  • 外层if与内层if至于是三种if判断的哪一种都是可以的,根据实际情况来决定

外层是if...else...内层也是if...else...

ticket = True # 用True代表有车票,False代表没有车票
knife_lenght = 9  # 刀子的长度,单位为cmif ticket == 1:print("有车票,可以进站")if knife_lenght < 10:print("通过安检")print("终于可以见到Ta了,美滋滋~~~")else:print("没有通过安检")print("刀子的长度超过规定,等待警察处理...")
else:print("没有车票,不能进站")print("亲爱的,那就下次见了")结果一:
ticket = True
knife_lenght = 9
有车票,可以进站
通过安检
终于可以见到Ta了,美滋滋~~~结果二:
ticket = True
knife_lenght = 20
有车票,可以进站
没有通过安检
刀子的长度超过规定,等待警察处理...结果三:
ticket = False
knife_lenght = 9
没有车票,不能进站
亲爱的,那就下次见了结果四:
ticket = False
knife_lenght = 20
没有车票,不能进站
亲爱的,那就下次见了

http://www.xdnf.cn/news/8836.html

相关文章:

  • 使用Cursor生成需求文档+UI设计图
  • 【扫描线 线段树】P1856 [IOI 1998 ] [USACO5.5] 矩形周长Picture|普及+
  • firfox 国外版和国内版本账号不互通问题处理
  • 理论物理:为什么在极低温(接近绝对零度)时,经典理论失效?
  • 5.25 打卡
  • 高级特性实战:死信队列、延迟队列与优先级队列(三)
  • 《1.1_3_2 电路交换、报文交换、分组交换的性能分析|精讲篇》
  • git 把一个分支A的某一个 commit 应用到另一个分支B上
  • 乐观锁与悲观锁
  • Ansible配置文件常用选项详解
  • [c语言实战]C语言多线程编程:从零开发高并发任务调度器(五)
  • 浅谈ggplot2图表美化~
  • 8:OpenCV—仿射变换和坐标映射
  • 每日Prompt:龙虎斗
  • LangChain4j 项目实战——idea快捷键搜索
  • 力扣第157场双周赛
  • NISP和CISP有什么区别,哪个更好
  • 内容中台的核心价值是什么?
  • 决策引擎与规则引擎在交易所业务风控中的建设思路、架构设
  • 【开源项目】成本50元内的开源项目
  • 只能上百度b站打不开其他网页
  • 关于 java: 2. 面向对象编程(OOP)核心概念
  • lc hot 100之:回文链表
  • 探索容器技术:Docker与Kubernetes的实践指南
  • TiDB:从快速上手到核心原理与最佳实践
  • FreeRTOS--信号量
  • JavaEE 网络编程套接字详解与实战示例
  • QNAP NEXTCLOUD 域名访问
  • GO语言基础4 Errors 报错
  • Redis之金字塔模型分层架构