学习Python笔记---if 语句
条件测试
每条if语句的核心都是一个值为True或False的表达式,这种表达式被称为条件测试。Python根据条件测试的值True还是False来决定是否执行if语句中的代码。如果条件测试的值为True,Python就执行紧跟在if语句后面的代码;如果为False,Python就忽略这些代码。
相等运算符( == )在它两边的值相等时返回True,否则返回False。
在Python中检查是否想等时 区分大小写。例如,两个大小写不同的值会被视为不想等。
要判断两个值是否不等,可结合使用惊叹号和等号( != ),其中惊叹号表示不。
条件语句中可包含各种数学比较,如小于( < )、小于等于( <= )、大于( > )、大于等于( >= )。
检查多个条件
关键字 and 将两个条件测试合而为一;如果都通过了表达式就为True;如果至少一个测试没有通过,整个表达式就为False。
关键字 or 也能够检查多个条件,但只要至少有一个条件满足,就能通过整个测试。仅当两个测试都没有通过时,使用 or 的表达式才为False。
如:
age_0 = 18
age_1 = 22
if age_0 >= 21 and age_1 <= 21:
print('YES.')
else:
print('Is Not.') age_0 = 20
age_1 = 18
if age_0 >= 21 or age_1 <= 21:
print('YES.')
else:
print('Is not.')
布尔表达式:与条件表达式一样,布尔表达式的结果要么为True,要么为False。
if语句
在 if 语句中,缩进的作用与for循环中相同。 测试通过了,将执行 if 语句后面所有缩进的代码行,否则将忽略它们。
在紧跟在 if 语句后面的代码块中,可根据需要包含任意数量的代码行。
if-else语句
if-else 语句块类似于简单的 if 语句,但其中的 else 语句是 指定条件测试未通过时要执行的操作。
if-elif-else
Python只执行 if-elif-else 结构中的一个代码块,它依次检查每个条件测试,直到遇到通过了的条件测试。 测试通过后,Python将执行紧跟在它后面的代码,并跳过余下的测试。
age=2
if age<4:
print("Your admission cost is $0.")
elif age<18:
print("Your admission cost is $5.")
else:
print("Your admission cost is $10.")
总结:else 是一条包罗万象的语句,只要不满足任何 if 或者 elif 中的任何条件测试,其中的代码就会执行,这可能会引入无效甚至恶意的数据。
如果知道最重要测试的条件,应考虑使用一个 elif 代码块来代替 else 代码块。这样就可以肯定,仅当满足相应的条件时,代码才会执行。
PS:如果只想执行一个代码块,就使用 if-elif-else 结构;如果要运行多个代码块,就使用一系列独立的 if 语句。
使用 if 语句处理列表
检查列表是否为空
如:
users=['admin','guest','zhang','wang','li']
if users:
for user in users:
if user=='admin':
print('Hello '+user.title()+',would you like to see a staus report?')
else:
print('Hello '+user.title())
else:
print('We need to find some users!')
其中的 if users: 是进行简单的检查,如果 users 的列表是空的,Python 就会返回False; 至少包含一个元素时返回True。
同时使用多个列表:
如:
current_users=['admin','guest','zhang','wang','li']
new_users=['admin','guest','zhao','qian','sun']
for user in new_users:
if user.lower() in current_users:
print('Enter one user name:')
else:
print('User name is not used!')
学习Python笔记---if 语句的更多相关文章
- “笨方法”学习Python笔记(1)-Windows下的准备
Python入门书籍 来自于开源中国微信公众号推荐的一篇文章 全民Python时代,豆瓣高级工程师告诉你 Python 怎么学 问:请问你目前最好的入门书是那本?有没有和PHP或者其他语言对比讲Pyt ...
- 学习Python笔记---变量和简单数据类型
首先声明,这个是个人在自学的一些笔记,因为是小白,刚接触Python,之前也没有过类似的经验,所以很多东西对于其他人来说可能是小白级别的,写出来没有其他的意思就是自己整理然后记录一下,顺便分享出来,而 ...
- 学习Python笔记---操作列表
1.for循环: 编写for循环时,对于用语存储列表中每个值的临时变量,可指定任何名称. 在for循环中,想包含多少行代码都可以,每个缩进的代码行都是循环的一部分,且将针对列表中的每个值都执行一次. ...
- 学习Python笔记---列表简介
列表: 列表由一系列按特定顺序排列的元素组成.你可以创建包涵字母表中所有字母.数字0-9或所有家庭成员姓名的列表:也可以将任何东西加入列表中,其中的元素之间可以没有任何关系. 列表 在Python中, ...
- “笨方法”学习Python笔记(2)-VS Code作为文本编辑器以及配置Python调试环境
Visual Studio Code 免费跨平台文本编辑器,插件资源丰富,我把其作为Debug的首选. 下载地址:https://code.visualstudio.com/Download 安装之后 ...
- 20180129周一之学习PYTHON笔记【安装、查看工作目录、】
一,安装过程中多选一个ADD的项,免去设置环境变量. 二,PYAUTOGUI模块控制键鼠. IMAGE模块. ----------------------python 如何查看与更换工作目录----- ...
- 【零基础入门学习Python笔记013】元祖:戴上了枷锁的列表
元组:戴上了枷锁的列表 因为和列表是近亲关系.所以元祖和列表在实际使用上是很相似的. 本节主要通过讨论元素和列表究竟有什么不同学习元祖. 元组是不可改变元素的.插入.删除或者排序都不能够.列表能够随意 ...
- 【零基础入门学习Python笔记012】一个打了激素的数组3
列表的一些经常使用操作符 比較操作符 逻辑操作符 连接操作符 反复操作符 成员关系操作符 +表示两个连接.*表示复制. list中"+"两边的类型必须一致. 演示样例: water ...
- 学习python笔记 协程
下面将一个经典的消费者和生产者的案例进行分析: import time def consumer(): r = '' while True: n = yield r if not n: return ...
随机推荐
- configparser 配置文件模块
#_author:star#date:2019/11/7# configparser 配置文件模块import configparserconfig=configparser.ConfigParser ...
- 「题解」:[组合数学][DP]:地精部落
拿到这道题秒懂题意:波动序列. 然鹅不会打.想了一节课,想打纯组合数学,结果找不到规律. 想的是先假设拍出一个序列,然后交换其中的元素求组合, 无奈没啥规律可循,显然不能一口气求出来(我说的是我没办法 ...
- Django项目:CMDB(服务器硬件资产自动采集系统)--12--08CMDB采集硬件数据日志记录
#settings.py # ————————01CMDB获取服务器基本信息———————— import os BASEDIR = os.path.dirname(os.path.dirname(o ...
- 通过Amazon AWS 十分钟搭建私人主机 自由的不要不要的
首先承认有点标题党了,当时自己搞的时候可不止十分钟,好吧,我承认是坑太多了,所以特意开了一篇博文,就是要准备尝试的和我一样的菜鸟们,可以真正的十分钟搞定. 当然高手可能用不上十分钟. 首先,就是 ...
- 19-10-28-A
竟然?竟然?竟然? 我已经用了半个键盘的编号了$\text{T_T}$ $\mathbb{AFO}$感稍强 h1是不是有点大? ZJ+TJ: T1 以为是什么数据结垢,但是是个链表. 所以可以使用 v ...
- iPhoneX适配随笔
1.安全区域 2.NavigationBar 和 TabBar的xib示意图 两个View要相同的效果,坐标不同 UIButton *btn = [UIButton buttonWithType:UI ...
- FreeMarker 自定义 TemplateDirectiveModel(二)
FreeMarker 是一个用 Java 语言编写的模板引擎,它基于模板来生成文本输出.FreeMarker 与 Web 容器无关,即在 Web 运行时,它并不知道 Servlet 或 HTTP.它不 ...
- JAVA基础_可变参数
自JAVA1.5以来,在JAVA中出现了可变参数一说,其针对的情况是对多个不确定的相同类型的元素进行同一类操作的情形. 可变参数有点类似与重载的概念,但是其中的可变参数是被隐式的转换成数组来进行处理的 ...
- uploadify附件上传 传参
首先 在刚加载jsp时就加入上传方法,所以 formDate 中的参数 zFileName是页面刚加载时 exp1的值 ,后来通过js方法赋值不被读过来,如果 你想要获得这个值,可在 调用upload ...
- Ubuntu 卸载nvidia驱动
1.切换为集成显卡 如果没有,那么先切换到字符界面 2.卸载驱动 sudo apt-get --purge remove nvidia* sudo apt autoremove To remove C ...