Python学习日记 Day5 if语句


白昼怎懂夜的黑 提交于 2020-02-14 18:06:42

今天时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.
'''

我宁愿危险而自由,不愿在安逸中受奴役。

工具导航Map