Python编程从入门到实践之条件判断|第4天

User:你好我是森林 Date:2018-03-17 Mark:《Python从入门到实践》 原文:https://www.jianshu.com/p/18a0f9193bbb

条件判断

认识条件判断

在日常开发中需要用到如果怎么样就怎么样,否则就怎么样的逻辑。主要采用if语句来实现的。

例如:假设你有一个汽车 列表,并想将其中每辆汽车的名称打印出来。对于大多数汽车,都应以首字母大写的方式打印其 名称,但对于汽车名'bmw',应以全大写的方式打印。下面的代码遍历一个列表,并以首字母大 写的方式打印其中的汽车名,但对于汽车名'bmw',以全大写的方式打印:

cars = ['audi', 'bmw', 'subaru', 'toyota']
for car in cars:
    if car == 'bmw':
        print(car.upper())
    else:
        print(car.title())

运行结果:

Audi
BMW
Subaru
Toyota

条件测试

每条if语句的核心都是一个值为TrueFalse的表达式,这种表达式被称为条件测试。

判断是否相等

相等的语句是:==,赋值的语句是:=,两者需要作区分。

c = 'like'
print(c == 'Like')

运行结果:False

如果需要或略大小写可以采用将其转化为小写的方式,函数为:lower()。其余的逻辑同理。

判断是否不相等

语句:!=,其余的逻辑类似,不过多阐述。

比较数字

条件语句中可包含各种数学比较,如小于、小于等于、大于、大于等于。

代码示例:

>>> num = 29
>>> num < 21
False
>>> num >= 4
True
>>>
多个条件判断

多个条件判断将条件采用关键字and连接,只有全部为true才能满足,否则整体条件就为false。如果是或者的关系采用关键字or,只要满足其中的一个整体条件就为true。如果不确定优先级(或者可读性)的问题,可以采用括号就没个单个条件括起来。

代码示例:

>>> age_0 = 22 
>>> age_1 = 18
>>> age_0 >= 21 and age_1 >= 21 
False
>>> age_1 = 22
>>> age_0 >= 21 and age_1 >= 21 
True
>>> age_0 = 22 
>>> age_1 = 18
>>> age_0 >= 21 or age_1 >= 21 
True
>>> age_0 = 18
>>> age_0 >= 21 or age_1 >= 21 
>>> False

采用括号的形式提高可读性和解决优先级的问题。

(age_0 >= 21) and (age_1 >= 21)
检查特定的值是否包含在列表中

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

代码示例:

>>> requested_toppings = ['mushrooms', 'onions', 'pineapple']
>>> 'mushrooms' in requested_toppings
True
>>> 'pepperoni' in requested_toppings
False
检查特定的值是否不包含在列表中

确定特定的值未包含在列表中,可使用关键字not in

使用方法和上面判断是否在列表中一致。

布尔表达式

布尔表达式的结果要么为True,要么为False,布尔值通常用于记录条件。

if语句

简单的if语句

代码示例:

num = 34
if num >= 18:
    print("恭喜,您已经成年")
if-else语句

代码示例:

num = 16
if num >= 18:
    print("恭喜,您已经成年")
else:
    print("你好,你未成年呢")
if-elif-else 结构
num = 16
if num >= 18:
    print("恭喜,您已经成年")
elif num > 15:
    print("你好,还差3年就成年")
else:
    print("122")

elif可以连续多次使用,多加判断即可。同时在某些时候可以省略else的部分。

使用if语句处理列表

检查特殊元素
requested_toppings = ['mushrooms', '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!")

循环的时候可以进行判断,然后即可,同时还可以判断是否为空列表。

欢迎你免费加入我的星球,一起分享,共同成长。

知识星球

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT派

这段代码很Pythonic | 相见恨晚的 itertools 库

最近事情不是很多,想写一些技术文章分享给大家,同时也对自己一段时间来碎片化接受的知识进行一下梳理,所谓写清楚才能说清楚,说清楚才能想清楚,就是这个道理了。

833
来自专栏互联网开发者交流社区

面向对象的Java实现

1-1:封装 a.为什么需要封装(封装可以是数据方便维护、增加实用性、方便扩展等等。通过面向对象的思想,模拟现实生活中的事物。) b.什么是封装(封装就是将...

751
来自专栏鸿的学习笔记

函数式编程阅读笔记

当我们要从一个不可变的list里删除元素或者添加元素怎么办?当增加元素时,你取出来的值的引用就是在原始表中增加元素,而不去修改原来的数据结构。也就是复用。

741
来自专栏C#

关于.NET参数传递方式的思考

    年关将近,整个人已经没有了工作和写作的激情,估计这个时候很多人跟我差不多,该相亲的相亲,该聚会喝酒的聚会喝酒,总之就是没有了干活的心思(我有很多想...

2259
来自专栏Python爬虫与数据挖掘

Python正则表达式初识(四)

普天同庆的日子里,送出最真的祝福,祝祖国繁荣昌盛,祝朋友事业有成,祝父母身体健康,祝大家永远开心,祝所有人幸福平安~~

623
来自专栏潇涧技术专栏

Python Data Structures - C2 Sort

参考内容: 1.Problem Solving with Python Chapter5: Search and Sorting online_link ...

821
来自专栏鸿的学习笔记

从Scala和Python的“shell”说起

在《写给Python和Scala的碎碎念》的系列的开篇,让我们从最简单的交互式“shell”开始,一步步来看看Python和Scala的对于同一件...

1002
来自专栏逸鹏说道

我为NET狂面试题-基础篇-答案

面向过程: 答案:图片只贴核心代码,完整代码请打开解决项目查看 (答案不唯一,官方答案只供参考,若有错误欢迎提出~) 99乘法表 https://githu...

35013
来自专栏Golang语言社区

第十一节 Go语言数组

干货来了!!!为了让更多的小伙伴喜欢Golang、加入Golang之中来,Golang语言社区发起人彬哥联合业界大牛共同推出了Go语言基础、进阶、提高课程,目前...

1023
来自专栏GIS讲堂

面向对象思想

类:描述了具有相同特性(属性)和相同行为(操作方法)的对象。在程序中,类就是数据类型。

1204

扫码关注云+社区