今天是2020年2月14日,阴转小雨,11~17℃
单身狗过不了情人节,那就祝74岁ENIAC生日生日快乐吧 😀
一、条件测试
条件测试是一个值为True或False的表达式。表达式可以为一个存有bool类型的变量,或者是其它类型的比较表达式。
1、比较值
● 字符串比较
判断两个字符串是否相等,可以使用" == "。
"name" == "name" #True
"Name" == "name" #False
判断两个字符串是否不等,可以使用“ != ”。
"name" == "name" #False
"name" == "age" #True
大小写不同,字符串值也不同。
● 数字比较
对于数字,可以用" > “,” < “,” == “,” != “,” >= “,” <= "进行比较。
my_age = 20
my_age > 19 #True
my_age >= 20 #True
my_age < 20 #False
my_age <= 21 #True
my_age == 20 #True
my_age != 18 #True
对于字符串也可以使用这些符号,大小根据ASCII码逐位比较。
● 判断值是否在列表中
判断某个值是否在列表中,可以使用 in 关键字。若判断其是否不再列表中,可以在 in 前加上 not 关键字。
number_list = [1,2,3]
1 in number_list #True
number_list = [ [1,2] , 3]
1 in number_list #False
1 not in number_list #True
若列表中的元素还包含列表或元组等可迭代对象,不会再判断值是否在该对象中。
● 检查多个条件
若要检查多个条件测试,可以使用 and 关键字和 or 关键字。
and 关键字和 or 关键字的判断结果相当于逻辑与、或。
my_age = 20
my_age >= 20 and my_age <= 20 #True
my_age > 19 and my_age < 20 #False
my_age < 21 or my_age >22 #True
my_age <19 or my_age > 21 #False
2、布尔表达式
布尔表达式是条件测试的一个别称,是一个值为True或False的表达式。以上检查与判断实际上就是布尔表达式的一种。它还可以是一个存有bool类型值的变量。
only_read = True #为真的布尔表达式
can_edit = False #为假的布尔表达式
二、if语句
当需要检查一系列条件测试,并判断采用什么操作时,可以使用if语句。
'''
if conditional_test:
do something
'''
if true:
print("Yes!") #Output:Yes!
与 for 循环语句类似,if语句也可以通过缩进增加判断为真时的操作。
age = 20
if age >= 18:
print("You are " + str(age) + "!")
print("Congratulations on being an adult")
print("End if.")
'''
Output:
You are 20!
Congratulations on being an adult
End if.
'''
当条件测试为假时也希望进行操作,可使用 if-else 语句。
#判断成人
if age >= 18:
print("You are an adult!")
else:
print("You are not an adult!")
当条件测试要多次判断时,可使用 if-elif-else 语句。
#判断年龄段
if age >= 18:
print("You are an adult!")
elif age >= 15:
print("You are a High School student!")
elif age >= 12:
print("You are a Middle School student!")
elif age >= 6:
print("You are a pupil!")
else:
print("You are a baby!")
print("You are " + str(age) + " years old!")
if-elif-else 结构在一个if 条件测试为真时,就将执行该语句下面缩进的语句,并跳过之后所有的 elif 和 else。若希望对每一个条件测试都进行检查,应连续单独使用 if 语句。
plant = ["rose","cactus","tomato"]
food = ["beef","bread","tomato"]
red_color = ["rose","apple","tomato"]
if "tomato" in plant:
print("Tomato is a plant.")
if "tomato" in food:
print("Tomato is food.")
if "tomato" in red_color:
print("Tomato is red.")
三、使用if语句处理列表
1、检查特殊元素
当需要对列表中的特殊元素做出不同操作时,可以使用 for 循环语句和 if 语句嵌套的方式。
name_list = ["Alex","Blair","Chris"]
for name in name_list:
if name == "Alex":
print("My name is " + name)
else:
print("His name is " + name)
'''
Output:
My name is Alex
His name is Blair
His name is Chris
'''
2、判断列表是否为空
若不希望当列表为空时进行误操作或无操作,可以用 if 语句和 for 循环语句嵌套的方式。
name_list = []
if name_list:
for name in name_list:
print("He is " + name)
else:
print("Empty list!")
'''
Output:
Empty list!
'''
在Python的 if 语句中,数字0、空对象和 none 对象被认为是False;非0数字、非空对象被认为是True。
3、使用多个列表
若希望处理多个列表,可根据情况使用 for 循环语句和 if 语句,灵活进行嵌套。
searching_person_list = ["Bulk","Micheal","Chris"]
person_list = ["Alex","Bulk","Chris"]
for searching_person in searching_person_list:
if searching_person in person_list:
print("Please wait, " + searching_person + " is coming.")
else:
print("Sorry, " + searching_person + " is not here.")
'''
Output:
Please wait, Bulk is coming.
Sorry, Micheal is not here.
Please wait, Chris is coming.
'''
我宁愿危险而自由,不愿在安逸中受奴役。