公众号:尤而小屋
作者:Peter
编辑:Peter

在生活中总是会听到这样的话:

  • 如果我上课认真一点,英语肯定可以及格

  • 如果我努力锻炼,肯定可以减到100斤

  • 如果我技术过硬,早就进大厂了…..

其实这就是条件语句的应用:假设有某个条件成立,便会产生怎样的结果。

剪刀石头布

通过一个剪刀石头布的游戏来引出if条件语句:

import random  # 随机模块player = int(input("请输入(0-剪刀  1-石头 2-布)"))  # 玩家输入
computer = random.randint(0,2)   # 0-2之间随机产生一个数作为电脑的输入if (player == 0 and computer == 2) or (player == 1 and computer == 0) or (player == 2 and computer == 1):print("恭喜玩家你赢了")  # 加上小括号
elif (player == 0 and computer == 0) or (player == 1 and computer == 1) or (player == 2 and computer == 2):print("平局")
else:print("很可惜,你输了")

因为电脑的输入是随机产生的,所以可能产生不同的结果。

Python条件控制语句

Python 中的 条件控制语句 (Conditional control statement) 是通过一条或者多条语句的执行结果(True 或者 False),来决定执行的代码逻辑 。

  • 关键词:它包含 ifelifelse 关键字, Python 中是不存在 else if 的写法,只存在 elif 这种写法。

  • 冒号很重要:每句判断语句使用冒号 - : 结尾,使用 缩进 划分语句块,相同缩进数的语句组成一个语句块。

  • 3种条件控制语句:if 、if - else 、if - elif (多个elif) - else

if 语句

if 语句,仅有一个判断条件,如果条件成立(为 True),则执行判断语句后带缩进的代码逻辑,否则不执行。

1、语法格式:

if expression:statements...

看下具体的执行流程图:

看一个具体的案例:我们定义了一个变量a,刚好满足if语句的条件,那么执行打印恭喜你

if - else 语句

if expressionstatements...
else:statements...

if - else 语句,仅有一个判断条件,与 if 语句的区别就在于:

  • 如果if后面的条件成立(为 True),则执行 if 判断语句后带缩进的代码逻辑,

  • 否则的话,便执行 else 后带缩进的代码逻辑。

看下具体的执行流程图:

看一个具体的例子:

  • 定义变量a=2,不满足if条件语句

  • 执行else后面缩进的代码块

if - elif - else 语句

if expression:statements...
elif expression:statements...# 可以有1条或多条elif语句
else:statement...

在使用判断语句时,我们有时需要对两个甚至是多个条件进行判断,并执行对应的代码逻辑,这时以上两种语句就无法满足我们的需求。值得注意的是,if - elif - else 语句中,仅有一个条件成立后,就会退出当前整个判断语句,简单来说,这三条判断路径,只会走其中一条。

这种语句需要注意的点:

  • 存在多个条件判断语句,if为真则执行if后面的语句

  • elif如果有一个为真,则执行该elif,后面代码块不执行了

  • 如果if和elif都不满足,则执行else语句

看下具体的执行流程图:

具体的案例如下:

if…else...语句嵌套

多个if语句同时使用。通过一个客人是否喝的是美式加糖咖啡的例子来说明:

1、同时满足美式和“是”(加糖)的条件

2、满足美式,但是不加糖“否”

不满足加糖的时候(否),进入第一个else中

3、一开始就不满足“美式”

三元操作符

if条件语句可以和三元操作符配合使用。其实就是将多个if...else...条件语句写到一行代码中:

X = A if B else C
  • 如果B条件作为真,输出X=A

  • 如果B为假,那么输出X=C

上面语句的意思是:如果满足条件x>y,则将x赋值给a,否则(x<y)将y赋值给a。

现在是x<y,所以是y赋值给a,所以a最终的结果是17

Python列表推导式使用if语句

找出50以内能够被5整除的数字,两种方法来实现:

  • 列表推导式

  • for循环

Python中的逻辑运算符

运算符 说明
not 逻辑“非”
and 逻辑“与”
or 逻辑“或”

Python操作运算符

Python中常用的基础运算符可参照下表:

操作符 说明
< 小于
<= 小于或等于
> 大于
>= 大于或等于
== 等于
!= 不等于
in / not in 成员运算符
is / not is 身份运算符

举几个例子说明基础运算符的使用:

Python中特殊对象

Python中的布尔值(bool)分为True和Fool。在if判断中如果条件为真True,则执行if后面缩进的代码块。有些特殊对象的布尔值为fool:

对象 布尔值
None False
所有值为零的数(整数/复数/浮点数) False
空字符串 False
空列表 False
空元组 False
空字典 False
空集合 False

下面的多个例子表示的是:当本身的布尔值为False,加上not之后变成True,然后执行print语句

通过否定的形式,我们可以精简自己的代码:

坐飞机

坐上飞机一般需要两个主要步骤:

  • 购买机票

  • 通过安检

def fly():ticket = int(input("是否购买机票(0-未购买 1-购买)"))safety = int(input("是否通过安检(0-未通过 1-通过)"))if ticket == 1 and safety == 1:print("请登机")elif ticket == 1 and safety != 1:print("未通过安检,不能登机")else:print("没有机票不能登机")if __name__ == "__main__":fly()

总结

  1. 使用if条件控制语句时,可根据实际需求,灵活搭配使用基本运算符与逻辑运算符。

  2. 平时的if条件语句作为嵌套的多个if语句

  3. 需要注意条件控制语句后的冒号  : ,还有就是python中的代码块缩进问题。

  4. if - else 语句可理解为二选其一,if - elif - else 则为三选其一,包含多个 elif 则为 N 选其一,其中 else 并非必须选项。

  5. 使用逻辑运算符时,其优先级需要注意,加上小括号  () 的语句优先级最高,() > not > and > or。当我们不清楚语句执行的优先级,最好的解决办法就是添加上小括号

往期精彩回顾适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载黄海广老师《机器学习课程》视频课黄海广老师《机器学习课程》711页完整版课件

本站qq群554839127,加入微信群请扫码:

【Python】35个经典案例:吃透Python中的if条件语句~相关推荐

  1. python编程入门经典百度云-python电子书学习资料打包分享百度云资源下载

    [300dpi高清版] Python基砒教程(第2版)LHD,pdf Head. First. Python中文版pdf [ Python3程序开发指南第二版pdf [ thon编程第4版)]( Pr ...

  2. python经典案例-Python递归的经典案例

    目录 : 一.递归的简介 二.递归的经典应用 2.1 递归求阶乘 2.2 递归推斐波那契数列 2.3 二分法找有序列表指定值 2.4 递归解汉诺塔 前言: 当我们碰到诸如需要求阶乘或斐波那契数列的问题 ...

  3. python编程基础与案例集锦,python经典程序实例代码

    你都用Python 来做什么? 当我知道可以做这些之后,我特别想会.因为论文查阅.答案确认查询:想知道豆瓣8分以上电影,或者穿越类的电影.处理工资数据考核表等. 可以干什么1.上学吧答案神器 主要实现 ...

  4. python编程入门经典 评分-关于 Python 的经典入门书籍有哪些?

    很多人在问,学习Python读什么书,这其实是一个非常通用的问题,学习分为三种方式:看书.上课.培训,而读书学习是最实惠也是最高效的一种,下面我们推荐6本高分书籍给大家,希望大家学习愉快: 1.Pyt ...

  5. python三本经典书籍-《python编程入门经典》python之父推荐这三本书让你更快入门...

    在学习python的时候,我们不得不看一些书籍来辅助.有哪些书籍是比较经典的呢?python之父给大家推荐这3本书,其中又2本是属于一个系列,即<Python核心编程>第二版和第三版,一本 ...

  6. python编程入门经典-总算理解python编程入门经典教程

    为了提高模块加载的速度,每个模块都会在__pycache__文件夹中放置该模块的预编译模块,命名为module.version.pyc,version是模块的预编译版本编码,一般都包含Python的版 ...

  7. python三本经典书籍-关于 Python 的经典入门书籍有哪些?

    先说明,这些书是我整理来准备以后慢慢看的,并没有全部购买,更没有全部阅读! 排名不分先后. <Learn Python the Hard Way> 本书是一本Python入门书籍,适合对计 ...

  8. python练手经典100例-Python入门练手100例

    [Python练习实例001] 有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? [Python练习实例002] 企业发放的奖金根据利润提成.利润(I)低于或等于10万 ...

  9. workbench设置单元坐标系_ANSYS经典案例在Workbench中实现分享连载(三)

    编者按: 熟悉ANSYS Mechanical的朋友知道,早年ANSYS经典界面风行一时,后来随着2000年后ANSYS Workbench平台的推出,经过十多年的发展完善,其易用性.功能性进入了一个 ...

最新文章

  1. Silverlight C# 游戏开发:方向键的组合,八方向实现
  2. CentOS Linux下VNC Server远程桌面配置详解
  3. 关于Linux和Windows的换行符
  4. HDU2106 decimal system
  5. mysql复制架构迁移到pxc_2020-03-18 Mysql常见的HA中间层架构mmm,pxc,mha
  6. ftp lftp 客户端设置_网络客户端工具—ftp、lftp、wget
  7. 植物病害鉴定真的需要深度CNN吗?
  8. L3HCTF bypass出题人视角
  9. 【量子信息与量子计算简明教程|陈汉武】阅读笔记1——第一章 量子信息与量子计算的基础概念
  10. 随机字符 php,PHP生成随机字符
  11. 订单操作-订单详情查询代码实现
  12. 【Python学习】Python的点滴积累
  13. 【盘点】最受欢迎十大中国风歌曲
  14. 什么是“理解”?如何在人工智能中定义“理解”?(what is understanding ?)
  15. Java程序员如何月薪达到两万,需要技术水平达到什么程度?
  16. 《图解密码技术》笔记13:PGP-密码技术的完美组合
  17. C/C++ 余弦函数 cos - C语言零基础入门教程
  18. 苏黎世联邦理工学院计算机硕士申请条件,苏黎世联邦理工学院研究生申请条件...
  19. 分布式算力新时代下 看安超云ArSDN如何保障云边协同
  20. php富友接口对接http请求

热门文章

  1. ASP.NET Core 源码阅读笔记(5) ---Microsoft.AspNetCore.Routing路由
  2. 基于jQuery带图标的多级下拉菜单
  3. 扩展Jquery插件处理mouseover时内部有子元素时发生样式闪烁
  4. loadrunner基础知识问答(转)
  5. 线程安全的signals
  6. 关于jQuery对象与DOM对象
  7. CSS浮动(三)---Float
  8. 如何修改eclipse里面Android虚拟机的存放路径
  9. 项目发布后 Tomcat中只有web-INF文件夹
  10. hql刪除語句,根據參數刪除