python 选择结构

选择结构

每条if语句的核心都是一个值为True或False的表达式,这种表达式被称为条件测试。如果条件测试的值为True,python就执行if语句后面的代码;反之,忽略后面的代码


if语句

语法:if 表达式:
	语句块
	(1)表达式与if语句之间要用空格分隔开
	(2)表达式后面要使用冒号(:)来表示满足此条件后要执行的语句块
	(3)表达式的类型为True或False

假设你想要知道这个人是否够投票的年龄

age=18
if age>=18:
    print("满足投票年龄")
// 输出结果
满足投票年龄

if-else语句

通常你需要在条件测试通过了时执行一个操作,并在没有通过是执行另外一个条件,此时你可使用if-else语句。

age=17
if age>=18:
    print("满足投票年龄")
else:
    print("您还不满足投票年龄")
// 输出结果
您还不满足投票年龄

if-elif-else语句

当需要检查的条件超过两个的情形时,可使用if-elif-else语句。
例如:根据年龄段来收费的游乐场:

  • 4岁以下免费
  • 4~18岁收费5美元
  • 18岁及以上收费10美元
age=14
if age<4:
    price=0
elif age<18:
    price=5
else:
    peice=10
print("您需要的费用为%s美元"%(price))
// 输出结果
您需要的费用为5美元

使用多个elif代码块

可根据需要使用任意数量的elif的代码块,假设前述游乐场要给老年人打折,满65岁及以上的老人,可以半价。

age=65
if age<4:
    price=0
elif age<18:
    price=5
elif age<65:
    price=10
else:
    price=5
print("您需要的费用为%s美元"%(price))
// 输出结果
您需要的费用为5美元

省略else语句

else语句是一条包罗万象的语句,只要不满足任何if或elif中的条件测试,其中的代码就会执行,这可能会引入无效甚至恶意的数据
python并不要求if-elif结构后面必须要有else代码块,在一些情况下使用一条elif语句处理特定的情况会更清晰,如

age=65
if age<4:
    price=0
elif age<18:
    price=5
elif age>=65:
    price=5
print("您需要的费用为{}美元".format(price))
// 输出结果
您需要的费用为5美元


测试多个条件

if-eli-else结构功能强大,但仅适合用于只有一个条件满足的情况:遇到通过了的测试后,python就跳过余下的测试,效率很高,能让你测试一个特定的条件。
然而,有时候你必须检查你关心的所有条件,这种情况下,应使用不包含elif和else代码块的简单if语句。在可能有多个条件为True,且你需要在每个条件为True是都采取相应的措施时,适合使用这种方法。
如,披萨店,如果顾客点了两种配料,就需要确保在其披萨中包含了这些配料

requested_toppings=["mushroms","extra cheese"]
if "mushroms" in requested_toppings:
    print("披萨包含了mushroms")
if "pepperini" in requested_toppings:
    print("披萨包含了prpperini")
if "extra cheese" in requested_toppings:
    print("披萨包含了extra cheese")

// 输出结果
披萨包含了mushroms
披萨包含了extra cheese
  • 总之,如果你只想执行一个代码块,就是用if-elif-else结构
  • 如果要运行多个代码块,就使用一系列的if语句

检查特定的值是否在包含的列表中,使用关键字in

banned_users=["andrew","carolina","david"]
user="andrew"
if user in banned_users:
    print("{}在列表中".format(user))
// 输出结果
andrew在列表中

检查特定的值是否不包含在列表中,使用关键字not in

banned_users=["andrew","carolina","david"]
user="marie"
if user not in banned_users:
    print("{}不在列表中".format(user))
// 输出结果
marie不在列表中;

你可能感兴趣的:(选择结构,python)