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

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

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

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

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

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

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

6ed3a9d1b6e44c0f9da546d64fd8f145.png

剪刀石头布

通过一个剪刀石头布的游戏来引出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("很可惜,你输了")
a7e3f578c46811fecd8b6510ea3a8ca8.png f27f2228006943a9335b571d14f63b7d.png

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

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...

看下具体的执行流程图:

59ab80b55a1bf9e33efafaefe298db42.png

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

6b7f5cfe93aff00c672386faa9bf0bcc.png

if - else 语句

if expression
    statements...
else:
    statements...

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

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

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

看下具体的执行流程图:

3ace1c56b95a7dcb9c98d8a2b0763433.png

看一个具体的例子:

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

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

7c4fefea5aaa7fa58465edc17b9b3c10.png

if - elif - else 语句

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

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

这种语句需要注意的点:

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

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

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

看下具体的执行流程图:

2510cc772afed93ca9ae76a625653854.png

具体的案例如下:

14b41a06e66eeaa6db56b228ed68c660.png 6ce0cf08da78ba5375fa661693fcc423.png

if…else...语句嵌套

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

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

eceb756794736d9180e5fe81b4b6f1c1.png

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

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

58b7aaf659662625c399201d75163b67.png

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

a43aac28032eab17a07daec5f3fd2694.png

三元操作符

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

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

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

b25b56035bf34c0aeff44a0165f01111.png

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

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

Python列表推导式使用if语句

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

  • 列表推导式

  • for循环

9bdfa9b6bd55736a01b256e1db217096.png

Python中的逻辑运算符

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

Python操作运算符

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

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

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

a8d570e2064b8558bcce2c6fed89c8b4.png 0c244294389491bc41dc8b52e1429a41.png 8c2cbf9bd35f302e31da51d80fe523e8.png ba8f45fc540d35e1ca90ef32c372c390.png

Python中特殊对象

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

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

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

b09608500046e80a82df1581b125c080.png dc874e9709123e84f4d5f046baca74cb.png

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

612d2d7afb01b83bd27213001fc350a6.png

坐飞机

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

  • 购买机票

  • 通过安检

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()
5dce6fd4a5ac5b48bc3f56c368bd7d8a.png de7ac4067c80c16c1ff1b08f820ae7c2.png

总结

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

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

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

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

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

663b8feed939cd1eac8a079679415cad.png

 
 
 
 
 
 
 
 
往期精彩回顾




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

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

3f5637da43a24462b0861ecc6a56b65d.png

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值