美文网首页
Python条件测试(58)

Python条件测试(58)

作者: 一日歌 | 来源:发表于2017-07-31 19:12 被阅读69次

    编程时经常需要检查一系列条件,并据此决定采取什么措施。

    python大大的图

    Python条件测试(58)

    我的图

    Python条件测试(58)

    1.一个简单示例

    假设你有一个汽车列表,并想将其中每辆汽车的名称打印出来。对于大多数汽车,都应以首字母大写的方式打印其名称,但对于汽车名'bmw',应以全大写的方式打印。对应大大的代码4~9行。这个示例中的循环首先检查当前的汽车名是否是'bmw'。如果是,就以全大写的方式打印它;否则就以首字母大写的方式打印。

    2.条件测试

    每条if语句的核心都是一个值为True或False的表达式,这种表达式被称为条件测试。Python根据条件测试的值为True还是False来决定是否执行if语句中的代码。如果条件测试值为True,Python就执行紧跟在if语句后面的代码;如果为False,Python就忽略这些代码。

    (1)检查是否相等

    大多数条件测试都将一个变量的当前值同特定指进行比较。最简单的条件测试检查变量的值是否与特定值相等。

    代码第10行,car不等于'bmw',因此打印True。因为此时的变量car里存储的值为循环结束的最后一个值toyota。

    如果把判断是否不相等改为判断是否相等,那么打印False

    Python条件测试(58) Python条件测试(58)

    一个等号是赋值,两个等号或不等号是发问,相当于一个判断语句。大大代码第10行可解读为:变量car的值不等于'bmw'对吗?结果是对,打印True。

    (2)检查是否相等时不考虑大小写

    在Python中检查是否相等时区分大小写,两个大小写不同的值会被视为不相等。如果大小写很重要,这种行为有其优点。但如果大小写无关紧要,而只想检查变量的值,可使用函数lower()将变量的值转化为小写,再进行比较。

    Python条件测试(58)

    函数lower()不会修改存储在变量car中的值,因此进行这样的比较时不会影响原来的变量。

    可以这么论证函数lower()不改变原变量这个问题。在4~9行,我们打印出的Toyota已经经过了操作title(),但是在判断相等时依然与原变量相等。lower()与title()是同一级别的函数,因此它也不会改变原变量。

    Python条件测试(58) Python条件测试(58)

    网站采用类似的方式让用户输入的数据符合特定的格式。例如,网站可能使用类似的测试来确保用户名是独一无二的,而并非只是与另一个用户名的大小写不同。用户提交新的用户名时,将把它转换为小写,并与所有既有用户名的小写版本进行比较。执行这种检查时,如果已经有用户名'john'(不管大小写如何),则用户提交用户名'John'时将遭到拒绝。

    (3)检查是否不相等

    要判断两个值是否不等,可结合使用惊叹号和等号(!=),其中的惊叹号表示不,在很多编程语言中都如此。这段代码在(1)中说过了。

    (4)比较数字

    比较数字时条件语句中不止可以使用==和!=,还可以使用>,<,>=和<=。

    (5)检查多个条件

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

    使用and检查多个条件:

    条件全为真,返回True,否则返回False。对应13~16行代码,if语句里的两个条件:①'audi'在cars列表里,②列表cars的长度大于等于4。两个条件均为真,则返回True,执行第一个print语句。

    如果两个条件有一个或者两个不为真,那么执行else后面的print语句

    Python条件测试(58) Python条件测试(58)

    使用or检查多个条件:

    至少有一个条件满足,返回True,否则返回False。

    上图返回False的语句如果把and改为or,将返回True

    Python条件测试(58)
    Python条件测试(58)

    相关文章

      网友评论

          本文标题:Python条件测试(58)

          本文链接:https://www.haomeiwen.com/subject/wrgrlxtx.html