一、if条件语句示例
如果怎样就会怎样是个常用句式,Python中if就扮演这样的句式。
# if语句示例
lists = ['a',1,'b',['c','nanhua'],1]
for list in lists:
if list == 1:
lists.remove(1)
print(lists)
# 先理清for循环:遍历lists所有元素
# 注意到if语句有缩进:每遍历到一个元素都需要运行一次if语句
# if语句含义:判断每次遍历到的元素是否等于1
# 注意到if的后一句也存在缩进:如果遍历的元素等于1则删除该元素(如果不等于1则不做任何操作)
# 最后一句无任何缩进:在for循环后打印新的lists
在示例中需要注意:
①for、if本句后都有冒号(:),
②for缩进与if缩进的内容,
③if语句判断是否等于用的是“==”
二、条件测试
什么是条件测试?一个值为True或者False的表达式,这也是if语句的核心。
正如上面的例子:遍历到的元素会被if语句判断是否等于1,是为真(True),运行if语句内部的代码,否为假(False),不运行if语句内部的代码。
2.1 检查相等、大小写的影响、不相等
print(1 == 1) # 判断1等于1的真假。结果当然是真(Ture)
print(1 > 1) # 判断1大于1的真假。结果是假(False)
print(type(1 == 1)) # 返回的是:bool,也就是布尔值。
## ①注:这里要区分赋值(=)和相等运算符(==)
## ②注:布尔值只有True和False,并且首字母大写。
name = 'nanhua' # 赋值给变量name
print(name == 'Nanhua') # 判断字符串是否相等。结果是假(False)
print(name.title() == 'Nanhua') # 结果为真(True)
## ③注:判断字符串,区分大小写
print(1 != 1) # 不等号(!=),结果为假(False)
## ④注:其他关系符号:>、>=、<、=<、!=(不等于)、in(属于)、not in(不属于)
2.2 检查多个条件:and与or
# 判断整句的布尔值(True/False),句式:条件测试1 and/or 条件测试2 and/or 条件测试3 ...
# and检查多个条件,有一个条件False值整体为False,所有条件为True整体为True
a_1 = 3
print(a_1 > 1 and a_1 < 5)
print(a_1 > 1 and a_1 < 3) # a_1等于3,a_1 < 3 为False,所以整句为False
# or检查多个条件,有一个条件为True值整体为True,所有条件为False整体为False
a_1 = 3
print(a_1 < 1 or a_1 > 5) # 两个条件都为False,整体为False
print(a_1 > 1 or a_1 < 3) # a_1等于3,a_1 < 3 为False,但是a_1 > 1为True,所以整句为True
2.3 检查列表:包含与不包含在列表中
lists = ['a',1,'b',['c','nanhua']]
print(1 in lists) # 结果为True。
print('c' in lists) # 结果为False。
print(['c','nanhua'] in lists) # 结果为True
print(1 not in lists) # 结果为False
# 检查元素是否在列表、元组等数据结构中。
# 句式:元素(可以为数值、字符串、列表等) in/not in 列表、元组等数据结构
2.4 布尔表达式
什么是条件表达式?条件测试的别称。
# 布尔值不仅仅应用在if语句中进行判断,也可用于记录条件
game_active = True # 标识游戏是否在运行,在后续将会遇到。
# 注:布尔值是又一数据类型
三、if条件语句
# 3.1 简单的if语句:一个条件测试一个操作
lists = ['a',1,'b',['c','nanhua'],1]
if 1 in lists: # 条件测试1
lists.remove(1) # 操作1
# 3.2 if-else语句:一个条件测试两个操作
lists = ['a',1,'b',['c','nanhua']]
if 1 in lists: # 条件测试1
lists.remove(1)
print(lists)
else:
lists.append('0')
print(lists)
## 注:两个操作是指冒号后面缩进的内容,不是单独一句代码。
# 3.3 if-elif-else语句:多个条件测试多个操作
## 程序运行将依次运行条件测试,知道条件测试通过
lists = ['a',1,'b',['c','nanhua']]
if 2 in lists:
print(lists) # 条件测试1显然是不能通过的,所以运行elif后的条件测试2
elif 1 in lists:
lists.append(2)
print(lists) # 条件测试2通过,运行此条件下的操作2
else:
lists.append('c')
print(lists) # 条件测试2通过则不运行,如果不通过则运行操作3
# 3.4 elif可以使用多个,else可以省略
lists = ['a',1,'b',['c','nanhua']]
if 2 in lists:
print(lists)
elif 3 in lists:
print(lists)
elif 1 in lists:
lists.remove(1)
print(lists)
四、if条件语句处理列表(if语句的简单应用)
4.1 检查元素(一、三的例子)
4.2 确定列表非空
lists = []
if lists : # Python在列表非空时返回True,空时返回False
print(lists)
else:
lists.append(1)
print(lists) # 列表lists为空,因此运行else后的操作
4.3 使用多个列表(略)
书本案例是利用for循环、if判断嵌套运用
五、小结
①数据类型:字符串、整数、浮点数、列表、元组、布尔值、字典(下一篇)
②数据结构:列表、元组、字典、集合
③条件测试和布尔值是需要区别前面所学内容
④if-elif...的条件测试是依次运行的,并且条件测试为False则跳过该条件测试缩进的操作内容,直到又条件测试为True,才运行此条件测试下的操作。如果条件测试都通过,则运行else的操作内容。