【Python基础】判断语句(4695字)

因上努力

个人主页:丷从心·

系列专栏:Python基础

学习指南:Python学习指南

果上随缘


布尔类型

  • 布尔类型只有两个值
    • True:表示“真”,表示条件成立
    • False:表示“假”,表示条件不成立
示例
have_money = True
have_troubles = False

比较运算符

  • 通过使用比较运算符可以使表达式返回值为TrueFalse
比较运算符功能示例
==检查两个操作数的值是否相等,如果是则返回值为Truea = 0b = 0,则a == b True
!=检查两个操作数的值是否不等,如果是则返回值为Truea = 0b = 1,则a != b True
>检查左操作数的值是否大于右操作数的值,如果是则返回值为Truea = 0b = 1,则a > b False
<检查左操作数的值是否小于右操作数的值,如果是则返回值为Truea = 0b = 1,则a < bTrue
>=检查左操作数的值是否大于或等于右操作数的值,如果是则返回值为Truea = 0b = 0,则a >= bTrue
<=检查左操作数的值是否小于或等于右操作数的值,如果是则返回值为Truea = 0b = 0,则a <= bTrue
示例
a = 0
b = 0
print(a == b)

a = 0
b = 1
print(a != b)

a = 0
b = 1
print(a > b)

a = 0
b = 1
print(a < b)

a = 0
b = 0
print(a >= b)

a = 0
b = 0
print(a <= b)
True
True
False
True
True
True

逻辑运算符

and
  • and称为与运算,表示“并且”,如成年并且性别女

  • and运算只有两个操作数都为True,结果才为True,即只要有一个操作数为False,结果就为False

示例
age = 18
gender = '女'

print(age >= 18 and gender == '女')

age = 18
gender = '男'

print(age >= 18 and gender == '女')
True
False
or
  • or称为或运算,表示“或者”,如本科生或者研究生
  • or运算只有两个操作数都为False,结果才为False,即只要有一个操作数为True,结果就为True
示例
education = '本科生'
print(education == '本科生' or education == '研究生')

education = '中学生'
print(education == '本科生' or education == '研究生')
True
False
not
  • not称为非运算,表示“否定”,如未满 18 18 18
  • not运算只有一个操作数,当操作数为False时,结果为True,当操作数为True时,结果为False
示例
age = 18

print(not (age < 18))
True
特殊情况下的逻辑运算符
  • 使用逻辑运算符andor时,一般两个操作数是TrueFalse,但有时候并不是这样
and
  • 猜测下面的示例的结果
print(1 and 2)
print(1 and 1 > 0)
print(0 and 1)
print(1 < 0 and 1)
2
True
0
False
  • 为什么会产生这样的结果呢?
    • Python具有布尔类型,具有TrueFalse两个值,而在其他一些编程语言,如C语言中是没有布尔类型的
    • 因此,C语言为了能够表示“真”和“假”,就制定了一个规定,只要数字不是 0 0 0,无论是正数还是负数都表示“真”,只有数字 0 0 0表示“假”
    • Python虽然引进了TrueFalse两个值,但它仍然保留了C语言中的这种开发者已经习以为常的规定,所以Python中也使用非 0 0 0表示“真”, 0 0 0表示“假”
    • and的左侧表达式不是“真”时,右侧表达式根本不会被执行,因为执行右侧表达式没有必要,并且将左侧表达式的“值”作为结果
    • and的左侧表达式是“真”时,右侧表达式才会被执行,并且将右侧表达式的“值”作为结果
  • 因此
    • print(1 and 2),因为左侧表达式 1 1 1 0 0 0,表示“真”,右侧表达式会被执行,此时将 2 2 2作为结果
    • print(1 and 1 > 0),因为左侧表达式 1 1 1 0 0 0,表示“真”,右侧表达式会被执行,此时将1 > 0的值True作为结果
    • print(0 and 1),因为左侧表达式为 0 0 0,右侧表达式不会被执行,此时将 0 0 0作为结果
    • print(1 < 0 and 1),因为左侧表达式1 < 0的值为False,右侧表达式不会被执行,此时将左侧表达式1 < 0的值False作为结果
or
  • 有了and的经验,分析or的结果就容易了

  • or的左侧表达式是“真”时,右侧表达式不会被执行,因为执行右侧表达式没有必要,并且将左侧表达式的“值”作为结果

  • or的左侧表达式不是“真”时,右侧表达式会被执行,并且将右侧表达式的“值”作为结果

  • 猜测下面的示例的结果

print(1 or 2)
print(1 > 0 or 1)
print(1 < 0 or 0)
print(0 or 1 < 0)
1
True
0
False

if判断语句

  • if用于判断一个条件,当条件为真时运行内部代码
格式
if 条件:
    条件为真时, 需要运行的代码
示例
age = 18

if age >= 18:
    print('我已经成年了')
我已经成年了
  • if下方缩进的代码是if语句控制的代码,缩进为 4 4 4个空格(在PyCharm中按Tab键,PyCharm会自动转换为 4 4 4个空格),当条件为真时运行下面缩进的代码块
age = 18

if age >= 18:
    # 缩进的代码都是 if 语句控制的代码, 当条件为真时被运行
    print('我已经成年了')
    print('我已经懂事了')
我已经成年了
我已经懂事了
  • age >= 18条件成立,内部的两条打印语句会被运行
age = 16

if age >= 18:
    # 缩进的代码都是 if 语句控制的代码, 当条件为真时被运行
    print('我已经成年了')
    print('我已经懂事了')

  • age >= 18条件不成立,内部的两条打印语句不会被运行,没有任何输出

else语句

  • else语句能够实现在if语句的条件不成立时运行需要运行的代码
  • else语句不能单独存在
格式
if 条件:
    条件为真时, 需要运行的代码
else:
    条件为假时, 需要运行的代码
示例
age = 16

if age >= 18:
    print('已经成年了')
    print('可以去网吧上网了')
else:
    print('未成年')
    print('不可以去网吧上网')
未成年
不可以去网吧上网

elif语句

  • elif语句能够实现在条件 1 1 1成立时运行条件 1 1 1的内部代码,在条件 2 2 2成立时运行条件 2 2 2的内部代码, ⋯ \cdots ,在条件 n n n成立时运行条件 n n n的内部代码

  • elif语句不能单独存在

格式
if 条件 1:
    条件 1 为真时, 需要运行的代码
elif 条件 2:
    条件 2 为真时, 需要运行的代码
elif 条件 3:
    条件 3 为真时, 需要运行的代码

......

elif 条件 n:
    条件 n 为真时, 需要运行的代码
else:
    以上条件都不满足时, 需要运行的代码
运行流程
  • 当条件 1 1 1成立时,运行条件 1 1 1的内部代码,然后整个if语句结束运行,不会再对下面的条件进行判断
  • 当条件 1 1 1不成立时,对条件 2 2 2进行判断,……
  • 当判断到条件 n n n时,如果条件 n n n仍然不成立,则运行else的内部代码
示例
score = 100

if 90 <= score <= 100:
    print('本次考试, 等级为 A')
elif 80 <= score < 90:
    print('本次考试, 等级为 B')
elif 70 <= score < 80:
    print('本次考试, 等级为 C')
elif 60 <= score < 70:
    print('本次考试, 等级为 D')
elif 0 <= score < 60:
    print('本次考试, 等级为 E')
else:
    # 如果分数不在 0 ~ 100 之间, 则认为分数有误
    print('分数有误...')
本次考试, 等级为 A
  • else语句不是必须的,根据实际情况决定是否添加,如果所有条件满足时做的事情很明确,没有所有条件都不满足的情况,此时就不用添加

if嵌套

  • if语句内部可以嵌套if语句
格式
if 条件 1:
    条件 1 为真时, 需要运行的代码
    
    if 条件 2:
        条件 2 为真时, 需要运行的代码
    else:
        条件 2 为假时, 需要运行的代码
else:
    条件 1 为假时, 需要运行的代码
示例
jiajia_age = 18
boy_age = 16

if jiajia_age == 18:
    print('我刚满 18 岁~~~')

    if boy_age < 18:
        print('不能追我, 因为他没有满到 18 岁~~~')
    else:
        print('可以追我~~~')
我刚满 18 岁~~~
不能追我, 因为他没有满到 18 岁~~~

  • 64
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
水利改革发展 中国政府高度重视水利建设,将水利作为国家基础设施建设的优先领域。政策文件强调了防洪抗旱、水资源管理、水环境保护和水生态修复等方面的全面要求,推动了水利信息化的发展。 智慧水利建设目标 智慧水利的建设目标是通过数据共享、应用惠民、应急预警等手段,打破信息孤岛,提升应急抢险协作能力,加强水利数据在惠民信息化方面的应用。同时,提出了共享联动化、解决信息安全问题、提高水利信息科技创新能力等目标。 智慧水利建设模式 智慧水利的建设模式包括构建统一平台、数据中心、信息整合平台、决策支持系统等,以实现水利、海洋、环保等政府部门和公众的信息共享和服务。此外,还包括了云计算虚拟化、网络传输、采集工程等多个方面的技术应用。 智慧水利应用实例 智慧水利的应用实例包括视频水文工程监控、多要素一体化检测设备、汛情预警智能联动、三防决策指挥、河长综合信息展示等。这些应用通过集成GIS、互联网地图服务、物联网设备等技术,实现了对水利设施的实时监控、数据分析和应急响应。 成功案例与展望 智慧水利的成功案例展示了通过视频监控、预警信息发布、移动办公信息APP等技术,有效提升了灾害应对能力、水资源管理和河长制的实施效果。这些案例表明,智慧水利的建设不仅提高了水利管理的效率和水平,也为未来的水利信息化发展提供了方向。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值