1 条件测试
- if语句的核心是一个值为True或False的表达式,这种表达式被称为条件测试。
Python根据条件测试的值为True或False来决定是否执行if语句中的代码。
- Python中检查是否相等时严格区分大小写。
注意:
- 检查变量的值,可将变量的值转换为小写,再进行比较。
- 有时候检查两个值是否不相等的效率更高。
# if语句
a = int(input("Please enter a word: "))
print(a, type(a))
if a > 0:
print("a > 0")
if 1 > 0:
print("Hello, World!")
print("1 > 0")
print("This is my house.")
# if...else语句
a = int(input("Please enter a word: "))
print(a, type(a))
if a > 0:
print("a > 0")
else:
print("a <= 0")
if 1 > 0:
print("Hello, World!")
print("1 > 0")
print("This is my house.")
# if...elif...else语句
a = int(input("Please enter a word: "))
print(a, type(a))
if a > 0:
print("a > 0")
elif a > 10:
print("a > 10")
2 检查多个条件
2.1 使用and关键字检查多个条件
and检查两个条件都为True。
如果每个测试都通过了,整个表达式就为True。
如果只要有一个测试没有通过,整个表达式就为False。
2.2 使用or关键字检查多个条件
or检查多个条件,至少有一个条件满足,就能通过整个测试。
仅当两个测试都没有通过时,使用or表达式才为False。
2.3 使用in关键字判断
in判断特定的值是否已包含在列表中。
2.4 使用not in关键字判断
not in判断特定值未包含在列表中。
3 布尔表达式
布尔表达式,即条件测试的别名。
条件测试:一个值为True或False的表达式。
4 缩进
if语句中缩进的作用和for循环中相同。如果条件测试通过,将执行if语句后面所有缩进的代码行,否则将忽略后面所有的代码行。
5 if-else语句
- 条件测试通过了,执行一个操作,并在没有通过时,执行另外一个操作。
- else语句让程序员能够指定条件测试未通过时要执行的操作。
6 if-elif-else结构
- Python只执行if-elif-else结构中的一个代码块,python依次检查每个条件测试,直到遇到通过了的条件测试。
- 测试通过后,Python将执行紧跟在其后的代码,并跳过余下测试。
- Python并不要求if-elif结构后面必须有else代码块。
如果知道最终要测试的条件,应考虑使用一个elif代码块来代替else代码块。这样,程序员才能坑定,仅当满足相应条件时,代码才会执行。
7 if语句的格式规范
在条件测试的格式设置方面,PEP 8提供的建议是:在诸如==、>=和<=等比较运算符两边各添加一个空格。这样的空格增强代码的可读性。
例如: if age < 4:
动手试一试
5-1 条件测试:
animal = 'cat'
print("Is animal == 'cat'? I predict True.")
print(animal == 'cat')
print("\nIs animal == 'dog'? I predict False.")
print(animal == 'dog')
5-2 更多的条件测试:
name1 = 'Mike'
name2 = 'Kate'
if name2 == name1:
print("相等")
else:
print("不相等")
name3 = 'STEVE'
print(name3.lower())
num1 = 1
num2 = 2
if num2 == num1:
print("相等")
else:
print("不相等")
if num2 > num1:
print("num2 大于 num1")
else:
print("num2 小于 num1")
if num2 >= num1:
print("num2 大于等于 num1")
else:
print("num2 小于等于 num1")
num3 = 3
if num3 > 0 and num3 < 4:
print("num3大于0并且小于4")
if num3 >0 or num3 < 4:
print("num3大于0或者小于4")
numbers = list(range(1, 11))
if 9 in numbers:
print("9在列表中")
else:
print("9不在列表中")
5-3 外星人颜色#1:
alien_color = 'green'
if alien_color == 'green':
print("You have 5 points.")
alien_color = 'red'
if alien_color == 'green':
print("You have 5 points")
5-4 外星人颜色#2:
alien_color = 'green'
if alien_color == 'green':
print("You have 5 points.")
else:
print("You have 10 points.")
5-5 外星人颜色#3:
alien_color = 'green'
if alien_color == 'green':
print("You have 5 points.")
elif alien_color == 'yellow':
print("You have 10 points.")
elif alien_color == 'red':
print("You have 15 points.")
5-6 人生的不同阶段:
import random
age = random.randint(0, 100)
print("You are " + str(age) + " years old.")
if age < 2:
print("You are baby.")
elif age < 4:
print("You're a toddler.")
elif age < 13:
print("You are a child.")
elif age < 20:
print("You are a teenager.")
elif age < 65:
print("You are an adult.")
else:
print("You are an old people.")
5-7 喜欢的水果:
favorite_fruit = ['apple', 'peach', 'banana', 'watermelon']
if 'apple' in fruit:
print("apple is in the list.")
if 'peach' in fruit:
print("peach is in the list.")
if 'banana' in fruit:
print("banana is the list.")
if 'watermelon' in fruit:
print("watermelon is in the list.")
5-8 以特殊方式跟管理员打招呼:
userNames = ['cat', 'dog', 'bird', 'fish', 'admin']
message = "Hello admin, would you like to see a status report?"
for userName in userNames:
if userName == 'admin':
print(message)
else:
print("Hello " + userName + ", thank for you logging in again.")
5-10 检查用户名:
current_users = ['dog','cat', 'fish', 'admin', 'kate']
new_users = ['dog', 'mike', 'steve', 'jobs', 'ava']
for current_user in current_users:
current_user = current_user.lower()
for new_user in new_users:
new_user = new_user.lower()
for new_user in new_users:
if new_user in current_users:
print("请输入别的用户名。")
else:
print("这个用户名未被使用")
5-11 序数:
numbers = list(range(1, 10))
for number in numbers:
print(number)
if number == 1:
print(str(number)+ "st\n")
elif number == 2:
print(str(number) + "nd\n")
elif number == 3:
print(str(number) + "rd\n")
else:
print(str(number) + "th\n")