专栏首页A2Data【Python基础】if语句-条件测试&列表

【Python基础】if语句-条件测试&列表

本文标识 : P00014

本文编辑 : swagw 编程工具 : Python 阅读时长 : 4分钟


前言

在上一条推送中,我们介绍了每条if语句的核心都是一个值为True或False的表达式,这种表达式被称为条件测试。

但有时你可能想同时检查多个条件,有时要在两个条件都为True时才执行相应操作,有时只要求一个条件为True时就执行相应的操作,在这些情况下,关键字and和or可助你一臂之力。

同时我们在本篇中会介绍使用if语句处理列表从而实现对特殊元素的检查。

检查多个条件

使用and检查多个条件

要检查是否两个条件都为true,可使用关键字and将两个条件测试合二为一;如果每个测试都通过了,整个表达式就为true;如果至少有一个测试没有通过,整个表达式就为false。

num = 9
if num >= 0 and num <= 10:    # 判断值是否在0~10之间
    print('hello')

输出结果:

hello

我们可以通过改变num的取值来查看下方的代码运行情况

使用or检查多个条件

在多个条件中,只要至少有一个条件满足,就能够通过整个测试,仅当所有的测试都没有通过时,使用or的表达式才为false。

num = 9
if num < 0 or num > 10:    # 判断值是否在小于0或大于10
    print('hello')
else:
    print('undefine')
# 输出结果: undefine

输出结果:

undefine

如果我们改变num的取值为-1,输出会为'hello';

num取12时,输出也是'hello'

结合and 与 or

num = 14
# 判断值是否在0~5或者10~15之间
if (num >= 0 and num <= 5) or (num >= 10 and num <= 15):    
    print('hello')
else:
    print('undefine')

输出结果:

hello

用if处理列表

有时候,执行操作前必须检查列表是否包含特定的值

要判断特定的值是否包含在列表中,可使用关键字innot in

name_lists = ['kobe','lebron','magic','shark']
print('kobe' in name_lists)

输出结果:

True
name_lists = ['kobe','lebron','magic','shark']
print('jason kid' in name_lists)

输出结果:

False

通过结合使用if语句和列表,可完成一些有趣的任务:对列表中特定的值做特殊处理;高效地管理不断变化的情形,让代码在各种情形下都将按预期那样运行。

实例: 在一个点餐APP中,顾客进入了一家披萨店在选择基本的披萨类型后,他会添加相应的配料,如青椒,橄榄,菠萝,洋葱等等。商家收到订单后,可以使用列表和if语句来确定能否满足顾客的要求。

下面定义了两个列表,其中第一个列表包含比萨店供应的配料,而第二个列表包含顾客点的配料。这次对于requested_toppings中的每个元素,都检查他是否是比萨店供应的配料,再决定是否在比萨中添加它:

requested_items = ['蘑菇','薯条','菠萝','橄榄','可乐']
available_items = ['蘑菇','橄榄','青椒','培根','菠萝','干酪','雪碧']

for items in requested_items:
    if items in available_items:
        print('添加: ' + items + '.')
    else:
        print('抱歉,'+ items+ '已售罄.')

输出结果:

添加: 蘑菇.
抱歉,薯条已售罄.
添加: 菠萝.
添加: 橄榄.
抱歉,可乐已售罄.

本文分享自微信公众号 - DataScience(DataScienceTeam),作者:swagw

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Day6.数据类型-字典

    【数字重复统计,以字典形式输出】 随机生成1000个数,统计20-100以内的数字,并统计出现次数

    DataScience
  • NumPy入门指南(一) | Day1

    今明两天我们主要学习NumPy,NumPy是用Python做数据分析时不可或缺的一个库,想知道它怎么使用吗?快往下看吧!(ps:课程内容较多,大家坚持住哦!)

    DataScience
  • NumPy入门指南(二) | Day2

    数组的索引就是列表中的下标,来表明数组中元素的顺序位置;通过查询索引可以获取到想要的元素, 切片是截取到需要元素的集合。

    DataScience
  • Python知识点总结篇(二)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    村雨遥
  • 全民 K 歌增量升级方案

      本文主要介绍一种增量升级方案。用户在升级版本时,不需要下载完整的安装包,只需下载增加的部分即可体验新版本完整功能,即节约用户流量,也减少服务器流量,并解决了...

    QQ音乐技术团队
  • JS-完美运动框架(封装)

    xing.org1^
  • 深度学习中数据集很小是一种什么样的体验

    今天提一个比较轻松的话题,简单探讨数据集大小对深度学习训练的影响。 不知道大家有没有看过这篇文章:Don’t use deep learning your d...

    OLDPAN
  • 前端基础-CSS尺寸与行高属性

    取值:数字 + px/百分比/em -------------------------px代表像素,百分比代表浏览器宽度的百分比,em代表字符数

    cwl_java
  • React / Vue 项目时为什么要在列表组件中写 key,其作用是什么?

    在交叉对比中,当新节点跟旧节点头尾交叉对比没有结果时,会根据新节点的key去对比旧节点数组中的key,从而找到相应旧节点(这里对应的是一个key => inde...

    Javanx
  • 2020年AI如何走?Jeff Dean和其他四位“大神”已做预测!

    人工智能已经不再是随时准备改变世界的状态,而是已经在改变世界。在迈入2020年这新的一年、以及新的20年代之际,笔者请到了AI方面最敏锐的观察者,请他们回顾20...

    CDA数据分析师

扫码关注云+社区

领取腾讯云代金券