Python if语句处理列表

通过结合使用if语句和列表,可完成一些有趣的任务:对列表中特定的值做特殊处理;

高效管理不断变化的情形,如餐馆是否还有特定的食材;

requested_toppings = ['mushroom','green peppers','extra cheese']

for requested_topping in requested_toppings:

    if requested_topping == 'green peppers':

        print(("Sorry,we are out of green peppers right now."))

    else:

        print("Adding" + requested_topping + ".")

print("\nFinished making your pizza!")

上面的代码中if语句检查顾客点的是否是青椒,如果是,就显示一条消息,

指出不能点青椒的原因。else语句确保其它配料都能添加到比萨中。

下面在制作比萨前检查顾客点的配料列表是否为空。如果列表是空的,就向顾客

确认他是否要点普通比萨;如果列表不为空,就像前面的实例那样制作比萨:

requested_toppings = []

if requested_toppings:

    for requested_topping in requested_toppings:

        print("Adding" + requested_topping + ".")

    print("\nFinished making your pizza!")

else:

    print("Are you sure you want a plain pizza?")

在这里我们首先创建了一个空列表,其中不包含任何配料。第二段我们进行了

简单检查,而不是直接执行for循环。在if语句中将列表名用在条件表达式中时,

Python将在列表至少包含一个元素返回True,并在列表为空时返回False。如果

requested_toppings,就运行与前一个示例相同的for循环;否则,就打印一条

消息,询问顾客是否确实要点不加任何配料的普通比萨(else语句)

使用多个列表

顾客的要求五花八门,在比萨配料方面尤其如此。如果顾客要在比萨中添加炸薯条,

该怎么办?可使用列表和if语句来确定是否能满足顾客的要求。

下面的实例定义了两个列表,其中第一个列表包含比萨店供应的配料,而第二个列表

包含顾客点的配料。这次对于requested_toppngs中的每个元素,都检查它是否是比

萨店供应的配料,再决定是否在比萨中添加它:

availabele_toppings = ['mushrooms','olives','green peppers',

                      'pepperonl','pineapple','extra cheese']

requested_toppings = ['mushrooms','french fries','extra cheese']

for requested_topping in requested_toppings:

    if requested_topping in availabele_toppings:

        print("Adding " + requested_topping + ".")

    else:

        print("Sorry,we don't have" + requested_topping + ".")

print("\nFinished making your pizza!")

在第一句中,我们定义了一个列表,其中包含比萨店供应的配料。请注意,如果比萨店

供应的配料是固定的,也可使用一个元祖来存储它们。在第二个列表中其中包含顾客点

的配料,请注意那个与众不同的配料——‘french fries’。在第三行,我们遍历顾客点

的配料列表。在这个循环中,对于顾客点的每种配料,我们都检查它是否包含在供应的配

料列表中(if语句);如果结果为True,就加入到比萨饼中,否则运行else代码块;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值