社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

机器学习初学者 • 3 年前 • 625 次点击  

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

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

  • 如果我上课认真一点,英语肯定可以及格
  • 如果我努力锻炼,肯定可以减到100斤
  • 如果我技术过硬,早就进大厂了…..

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

剪刀石头布

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

import random  # 随机模块

player = int(input("请输入(0-剪刀  1-石头 2-布)"))  # 玩家输入
computer = random.randint(0,2)   # 0-2之间随机产生一个数作为电脑的输入

if (player == 0 and computer == 2or (player == 1 and computer == 0or (player == 2 and computer == 1):
    print("恭喜玩家你赢了")  # 加上小括号
elif (player == 0 and computer == 0or (player == 1 and computer == 1or (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 expression
    statements...
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

现在是x

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:

对象布尔值
NoneFalse
所有值为零的数(整数/复数/浮点数)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。当我们不清楚语句执行的优先级,最好的解决办法就是添加上小括号

往期精彩回顾




站qq群554839127,加入微信群请扫码:
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/121814
 
625 次点击