zoukankan      html  css  js  c++  java
  • if语句

    2019-05-14 17:51:57

           编程时经常需要检查一系列条件,并据此决定采取什么措施。在Python中,if语句让你能够检查程序的当前状态,并据此采取相应的措施。

    1、一个简单示例 

      假设有一个汽车列表,并想将其中没亮汽车的名称打印出来:对于大多数汽车,都应以首字母大写的方式打印名称,但对于汽车名‘bmw’,应以全大写的方式打印。

    2、条件测试

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

    • 检查是否相等

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

      一个等号是陈述:对于第一行的代码,可解读为将变量car的值设置为‘bmw’;两个等号是在发问:对于第二行的代码,可解读为‘变量car的值是‘bmw’’吗?

      注:在Python中检查是否相等时要区分大小写,例如,两个大小写不同的值会被视为不相等。 

    •  检查是否不相等

       要判断两个值是否不等,可结合使用惊叹号和等号(!=),其中的惊叹号表示不。例如:

    • 检查多个条件

    1、使用and检查多个条件

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

     

    2、使用or检查多个条件

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

    3、检查特定值是否包含在列表中

       有时候,执行操作前必须检查列表是否包含特定的值。例如,结束用户的注册过程前,可能需要检查它提供的用户名是否包含在用户列表中。在地图程序中,可能需要检查用户提交的位置是否包含在已知位置列表中。

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

     

     4、检查特定值是否不包含在列表中

      确定特定的值未包含在列表中可以使用关键字not in.例如,如果有一个列表,其中包含被禁止在论坛上发表评论的用户,就可在允许用户提交评论前检查他是否被禁言:

     

    3、if语句

    •  简单的if语句

       最简单的if语句只有一个测试和一个操作:

     

      在第一行中,可包含任何条件测试,而在紧跟在测试后的缩进代码块中,可执行任何操作。如果条件测试的结果为true,Python就会执行紧跟在if语句后面的代码;否则Python将忽略这些代码。

      在if语句中,缩进的作用与for循环中相同。如果测试通过了,将执行if语句后面所有缩进的代码行,否则将会忽略他们。

    •  if-else语句

       经常需要在条件测试通过了是执行一个操作,并在没有通过时执行另一个操作。在这种情况下,可使用Python提供的if-else语句。

    • if-elif-else结构

       经常需要检查超过两个的情形,为此可使用Python提供的if-elif-else结构。Python只执行if-elif-else结构中的一个代码块,他一次检查每个条件测试,直到遇到通过了的条件测试。测试通过后,Python将执行紧跟在它后面的代码,并跳过余下的测试。

      在生活中,很多情况下需要考虑的情形都超过两个。例如:

    1. 4岁一下免费
    2. 4-18岁收费5美元
    3. 18岁(含)以上收费10美元

       如果只使用一条if语句:

      使用if-elif-else语句:

    •  使用多个elif代码块

      可根据需要使用任意数量的elif代码块。例如:假设前述游乐场要给老年人打折,可再添加一个条件测试,判断顾客是否符合打折条件。下面假设对于65岁(含)以上的老人,可以半价(即5美元)购买门票:

    • 省略else代码块

       Python并不要求if-elif结构后面必须有else代码块。在有些情况下,else代码块很有用;而在其他一些情况下,使用一条elif语句来处理特定的情形更清晰:

      else是一条包罗万象的语句,只要不满足任何if或elif中的条件测试,其中的代码就会执行,这可能会引入无效甚至恶意的数据。如果知道最终要测试的条件,应考虑使用一个elif代码块来代替else代码块。这样,你就可以肯定,仅当满足相应的条件时,你的代码才会执行。

    • 测试多个条件

       if-elif-else结构功能强大,但仅适用于只有一个条件满足的情况:遇到通过了的测试后。Python就会跳过余下的测试。这种行为很好,效率很高,让你能够测试一个特定的条件。

      然而,有时候必须检查你关心的所有条件。在这种情况下,应使用一系列不包含elif和else代码块的简单if语句。在可能有多个条件为true,且你需要在每个条件为true时都采取相应措施时,适合使用这种方法。

    4、使用if语句处理列表

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

    • 检查特殊元素

       通过创建一个列表,在其中包含顾客点的配料,并使用一个循环来指出添加到比萨中的配料,可以以极高的效率编写这样的代码:

      然而,如果比萨店的青椒用完了,该如何处理呢?为了妥善地处理这种情况,可在for循环中包含一个if语句:

    • 确定列表不是空的

       到目前为止,对于处理的每个列表都做了一个简单的假设,即假设它们都至少包含一个元素。我们马上就要让用户来提供存储在列表中的信息,因此不能再假设循环运行时列表不是空的。鉴于此,在运行for循环前确定列表是否为空很重要。

       下面在制作比萨前检查顾客点的配料是否为空。如果列表是空的,就向顾客确认他是否要点普通比萨;如果列表不为空,就像之前的示例那样制作比萨:

      在这里,我们首先创建了一个空列表,其中不包含任何配料;然后,我们进行了简单的if检查,而不是直接执行for循环。在if语句中将列表名用在条件表达式中时,Python将在列表中至少包含一个元素时返回true,并在列表为空时返回false。如果不为空,就与前一个for循环相同;否则,就打印一条消息,询问顾客是否确实要点不加任何配料的普通比萨。

    • 使用多个列表

      顾客的要求往往五花八门,在比萨配料方面尤其如此。如果顾客要在比萨中添加炸薯条该如何?可以使用列表和if语句来确定能否满足顾客的要求。下面定义了两个列表,其中第一个列表包含比萨店供应的配料,而第二个列表包含顾客点的配料。这次对于requested_toppings中的每个元素,都检查他是否是比萨店供应的配料,再决定是否在比萨中添加它:

    输出:

    5、设置代码的格式

       在条件测试的格式设置方面,PEP 8提供的唯一建议是,在诸如==、>=和<=等比较运算符两边各添加一个空格,例如,if age < 4要比If age<4好。这样的代码不会影响Python对代码的解读,而只是让代码阅读起来更加容易。

  • 相关阅读:
    jsp mysql 配置线程池
    服务端 模拟 检测 攻击。。乱写
    硕思闪客精灵 7.2 破解版
    unity UnityAwe 插件
    smartfoxserver 2x 解决 Math NAN
    unity 断点下载
    java 监听文件目录修改
    wind7 64 setup appjs
    sfs2x 修改jvm 内存
    unity ngui 解决图层问题
  • 原文地址:https://www.cnblogs.com/haohanTL/p/10863674.html
Copyright © 2011-2022 走看看