Python中的条件语句与我之前学过的C,C++很相像,在Python里用 and 代替了&&(与运算符),用or代替了||(或运算符),而其他比较运算符如>,<,=,>=,<=,==,!=的用法和意义与C一致。在使用Python的if语句时,要注意冒号和缩进。 最简单的if语句为
if 条件测试:
要执行的内容
如:
a=5
if a>3:
print("a is larger than 3")
if else语句与此类似,如
a=5
if a>3:
print("a is larger than 3")
else:
print("a is smaller than 3")
除此以外,还有语句if-elif-else,当它遇到通过了的条件测试时,会跳过其他余下的测试,对于一对一的判断效率很高。elif比较像C中的else if。当需要同时判断多种情况时,就要使用一系列的if,而不是elif。
还可以用if语句处理列表,这里参考书中的练习题举例。
例1:创建包含五个用户名的列表,当用户名为“admin”,输出“Hello admin”,否则输出“Hello Eric”。当列表为空时,输出“Empty”
User_Names = ['A','B','C','D','admin']
if User_Names:
for User_Name in User_Names:
if User_Name == 'admin':
print("Hello admin")
else:
print("Hello Eric")
else:
print("Empty")
这里通过if User_Names判断列表是否为空。
例2:创建两个列表,一个为当前已有的用户名列表current_users,一个为新创建的用户名列表new_users,检查新列表中的用户名是否被使用,在比较时不区分大小写。
current_users = ['Alan','Bob','Clark','David','Eric','Frank']
new_users = ['Gaea','henry','alan','ClarK']
current_lower_users=[]
for current_user in current_users:
if current_user:
current_lower_users.append(current_user.lower())
if new_users:
for new_user in new_users:
if new_user.lower() in current_lower_users:
print(new_user+" has been enabled.")
else:
print(new_user+" enable")
这里我使用一个新的列表current_lower_users用来保存current_users列表中的全小写元素。最终运行结果为:
Gaea enable
henry enable
alan has been enabled.
ClarK has been enabled.
可以达到预期的目的。不过感觉这种方法比较麻烦,也许后面会找到更简便的办法。