目录

  • 条件测试
    • 检查是否相等
    • 检查是否不相等
    • 数字比较
    • 检查多个条件
    • 检查特定值是否包含在列表中
    • 检查特定值是否不包含在列表中
    • 布尔表达式
  • if语句
    • 简单的if语句
    • if-else语句
    • if-elif-else结构
    • 省略else代码块
    • 测试多个条件
  • 使用if语句处理列表
    • 检查特殊元素
    • 确定列表不是空的
    • 使用多个列表

条件测试

每条if语句的核心都是一个值为True或False的表达式,这种表达式称为条件测试。如果条件测试的值为True,Python就执行紧跟在if语句后面的代码;如果False, Python就忽略这些代码。

检查是否相等

使用两个等号(==)检查一个变量的当前值是否等于某个特定值。

>>>car='bmw'
>>>car=='bmw'True

注意在检查是否相等时区分大小写。

>>>car='Audi'
>>>car=='audi'False

如果大小写无关紧要,只是想检查变量的值,可以使用方法lower()将变量的值转换为小写,再进行比较, 而且方法lower()并不会改变存储在变量中的值:

car='Audi'
car.lower()=='audi'
carTrue
'Audi'

当网站想要确保用户名是独一无二的,而不是与其他用户名大小写不同时,可以使用类似的测试方法。

检查是否不相等

结合使用惊叹号和等号(!=),来判断两个值是否相等。

**toppings.py**
requested_topping='mushrooms'
if requested_topping != 'anchovies':print('Hold the anchovies!')Hold the anchovies!

数字比较

条件语句中可以使用任何比较:

>>>age=17
>>>age<21
True
>>>age<=21
True
>>>age>21
False
>>>age>=21
False
>>>age==17
True
>>>age!=20
True

检查多个条件

1.使用and检查多个条件
要检查两个条件是否都为True,可使用关键字and将两个条件测试合二为一:如果每个测试都通过了,整个表达式就为True; 如果至少有一个测试没有通过,整个表达式就为False:

>>>age_0=22
>>>age_1=18
>>>age_0>=21 and age_1>=21
False
>>>age_1=22
>>>age_0>=21 and age_1>=21
True

为了提高可读性,还可以将每个测试分别放在一对括号里。

(age_0>=21) and (age_1>=21)

2.使用or检查多个条件

>>>age_0=22
>>>age_1=18
>>>age_0>=21 or age_1>=21
True
>>>age_0=19
>>>age_0>=21 and age_1>=21
False

检查特定值是否包含在列表中

使用in判断特定值是否包含在列表中。

>>>requested_toppings=['mushrooms','onions','pineapple']
>>>'mushrooms' in requested_toppings
True
>>>'pepperoni' in requested_toppings
False

检查特定值是否不包含在列表中

使用关键字not in,判断特定值是否不包含在列表中。

**banned_users.py**
banned_users=['andrew','carolina','david']
user='marie'
if user not in banned_users:print(user.title()+', you can post a response if you wish.')Marie, you can post a response if you wish.

布尔表达式

它是条件测试的别名,其结果要么为True,要么为False.

game_active=True
can_edit=False

if语句

if语句有很多种,选择使用哪一种取决于要测试的条件数。

简单的if语句

简单的if语句只有一个测试和一个操作:

**voting.py**
age=19
if age>=18:print('You are old enough to vote.')print('Have you registered to vote yet?')You are old enough to vote.
Have you registered to vote yet?

在if语句中,缩进的作用与for循环中相同。如果测试通过,将执行if语句后面所有缩进的代码行,否则将忽略它们。

if-else语句

if-else语句块类似于简单的if语句,但其中的else语句使在指定条件未通过时执行另一个操作。因此,if-else结构适合要让Python执行两种操作之一的情形。

age=17
if age>=18:print('You are old enough to vote!')print('Have you registered to vote yet?')
else:print('Sorry, you are too young to vote.')print('Please register to vote as soon as you turn 18!')Sorry, you are too young to vote.
Please register to vote as soon as you turn 18!

if-elif-else结构

需要检查超过两个的条件测试时,可以使用if-elif-else结构。

#三个测试条件
age=12
if age < 4:price = 0
elif age < 18:price = 5
else:price = 10
print('Your admission cost is $'+str(price)+'.')Your admission cost is $5.
#可根据需要使用任意数量的elif代码块
age=12
if age < 4:price = 0
elif age < 18:price = 5
elif age < 65:price = 10
else:price = 5
print('Your admission cost is $'+str(price)+'.')Your admission cost is $5.

省略else代码块

else是一个包罗万象的语句,只要不满足if或elif中的条件测试,其中的代码就会执行,这可能会引入无效甚至恶意的数据。如果知道最终要测试的条件,应考虑使用一个elif代码块。这样就可以肯定仅当满足相应条件时,代码才会执行。

age=12
if age < 4:price = 0
elif age < 18:price = 5
elif age < 65:price = 10
elif age >= 65:price = 5
print('Your admission cost is $'+str(price)+'.')Your admission cost is $5.

测试多个条件

有时候需要检查多个条件,并且在每个条件为True时都会采取相应措施。此时,可以使用多个简单的if语句。

**toppings.py**
requested_toppings=['mushrooms','extra cheese']
if 'mushrooms' in requested_toppings:print('Adding mushrooms.')
if 'pepperoni' in requested_toppings:print('Adding pepperoni.')
if 'extra cheese' in requested_toppings:print('Adding extra cheese.')
print('\nFinished making your pizza!')Adding mushrooms.
Adding extra cheese.Finished making your pizza!

当只需要执行一个代码块时,用if-elif-else结构;当需要运行多个代码块时,用一系列独立的if语句。

使用if语句处理列表

检查特殊元素

使用if语句检查列表中的特殊值,并对其做特殊处理。

requested_toppings=['mushrooms','green peppers','extra cheese']
for requested_topping in requested_toppings:if requested_topping == 'green peppers':print('Sorry, we are out of green peppers right now.')else:print('Adding '+requested_topping+'.')
print('\nFinished making your pizza!')Adding mushrooms.
Sorry, we are out of green peppers right now.
Adding extra cheese.Finished making your pizza!

确定列表不是空的

运行for循环前确定列表不为空非常重要。

requested_toppings=[]
if requested_toppings:for requested_topping in requested_toppings:print('Adding '+requested_topping+'.')print('\nFinished making your pizza!')
else:print('Are you sure you want a plain pizza?')Are you sure you want a plain pizza?

在if语句中将列表名用在条件表达式中,Python将在列表中至少包含一个元素时返回True,并在列表为空时返回False.

使用多个列表

当判断是否能够满足顾客的要求时,会用到两个列表。

available_toppings=['mushrooms','olives','green peppers','pepperoni','pineapple','extra cheese']
requested_toppings=['mushrooms','french fries','extra cheese']
for requested_topping in requested_toppings:if requested_topping in available_toppings:print('Adding '+requested_topping+'.')else:print('Sorry, we do not have '+requested_topping+'.')
print('\nFinished making your pizza!')Adding mushrooms.
Sorry, we do not have french fries.
Adding extra cheese.
Finished making your pizza!

《Python编程:从入门到实践》读书笔记——第5章:if语句相关推荐

  1. python基础学习[python编程从入门到实践读书笔记(连载一)]

    写在前面:本文来自笔者关于<python编程从入门到实践>的读书笔记与动手实践记录. 程序员之禅 文章目录 02变量和简单数据类型 03 列表简介 04 操作列表 05 if语句 06 字 ...

  2. python基础学习[python编程从入门到实践读书笔记(连载三)]:django学习笔记web项目

    文章目录 Django项目:学习笔记web网页 项目部署 参考 自己部署的网站,还是小有成就感的,毕竟踩过很多坑,实战技能也有些许进步. 网站链接:http://lishizheng.herokuap ...

  3. python基础学习[python编程从入门到实践读书笔记(连载五)]:数据可视化项目第16章

    文章目录 下载数据 制作全球地震散点图:JSON格式 end 几个实验结果: 每日最高气温: 地震图绘制: 下载数据 CSV文件格式 在文本文件中存储数据,一个简单方式是将数据作为一系列以逗号分隔的值 ...

  4. python编程从入门到实践读书笔记-《Python编程:从入门到实践》项目部分读书笔记(二)...

    鸽了一个暑假没有更新,现在趁着还没开学更一下.咕咕咕 上期作业: 请创建一个Django项目,命名为Blog,建不建立虚拟环境随便你,最后本地跑成了就行. 步骤: ①在需要创建工程的文件夹下打开cmd ...

  5. python基础学习[python编程从入门到实践读书笔记(连载二)]:外星人入侵项目

    第一版游戏demo 添加计分系统:中间是最高得分,右边是本次得分. 显示余下的飞船数 主函数如下,完整程序将上传到笔者的github:https://github.com/shizhengLi/lea ...

  6. python基础学习[python编程从入门到实践读书笔记(连载六)]:数据可视化项目第17章

    文章目录 使用API end 项目结果: 使用plotly可视化github最受欢迎的python仓库: 修改后的可视化图表: 使用API 编写独立的程序,实现对获取的数据可视化.我们使用Web AP ...

  7. python基础学习[python编程从入门到实践读书笔记(连载四)]:数据可视化项目第15章

    文章目录 matplotlib初学 基础绘图用法 随机漫步 使用Plotly模拟掷骰子 matplotlib初学 基础绘图用法 import matplotlib.pyplot as pltsquar ...

  8. Python编程从入门到实践(第三、四章的列表和元祖)

    1.Python中列表用[]来表示,并用逗号分隔其中元素 2.访问列表元素,给出元素的索引值即可(索引从0开始) 3.修改,添加和删除元素 3.1修改时给出列表名和修改元素的索引,然后赋新值 3.2在 ...

  9. python编程:从入门到实践 阅读笔记

    文章目录 第一章 起步 第二章 变量和简单数据类型 String 数字 整数 浮点数 第三章 列表简介 第四章 操作列表 元组 第五章 if 语句 第六章 字典 第七章 用户输入和while循环 第八 ...

  10. python编程从入门到精通读书笔记(基础知识)

    第一部分:基础知识 学习python想要做的软件  1.开机答题软件,(电脑一开机的输入密码,改为答题,初步设定为选择题,答对了才可以进入.)  2.   第二章 2.1第一个程序:  print(& ...

最新文章

  1. 让Python代码简洁的实用技巧!
  2. GitHub服务中断24小时11分钟事故分析报告\n
  3. Linux 配置jdk
  4. 排列组合思维导图_排列组合——排列数专题
  5. 一个 IT 青年北漂四年的感悟
  6. 1.9 编程基础之二分查找 13:整数去重 python
  7. 阿里巴巴:如何从优秀员工,晋升为合格管理者?
  8. MySQL 8.0.11 中使用 grant ... identified by 时 error 1064 near 'identified by '密码'' at line 1...
  9. 8279c语言编程,可编程键盘/显示接口芯片8279应用浅析
  10. shell小技巧(五)把以abc开头的下一行以def结尾的两行替换成douyu
  11. 2022年重庆医院三基考试心血管系统疾病多选练习题及答案
  12. 计算机工程与应用出版时间,计算机工程与应用
  13. 一个大一的迷茫小菜鸟
  14. 四 利用excel实现数据可视化
  15. Android和OpenCV的学习mat运算/颜色转换
  16. 英语不好,可以进外企吗?
  17. 学游戏原画都需要掌握哪些软件
  18. XCTF---MISC---来自银河的信号
  19. Vue学习笔记——v-show实现原理
  20. 安卓手机修改IMEI方法

热门文章

  1. ubuntu 命令行更换软件源
  2. 刘金琨智能控制(第2版)仿真实例代码整理
  3. DIV内文字两端对齐
  4. Java SE 01 概述
  5. APP Manifest -Android
  6. soul_admin之使用zookeeper数据同步
  7. 台湾李宏毅教授深度学习
  8. TransOMCS:从语言图提取常识知识
  9. Base64 加密解密图片
  10. O - 期末考试之分等级