zoukankan      html  css  js  c++  java
  • python条件与循环-条件

    1.条件和循环

    主要讨论:if、while、for以及相关的搭配else、elif、break、continue和pass语句。

    1.1 if语句

    if语句由三部分组成:关键字本身、用于判断结果真假的条件表达式、以及判断为真或非零时执行的代码块,语法如下:

    if expression:

        expr_true_suite

    1.2 多重条件表达式

    单个if语句可以使用and、or、not等实现多重判断条件。

    if experssion1 and expression2:

        expr_true_suite

    1.3 单一语句的代码块

    如果一个复合句(if语句、while或for循环)的代码块仅仅包含一行代码,可和前面的语句写在同一行。为了方便可读,一般不这样写。

    if expression: expr_true_suite

    1.4 else语句

    if语句可以和else语句配合使用,如果判断为假,则调用else语句。语法如下:

    if expression:

      expr_true_suite

    else:

      expr_false_suite

    特殊用法:可以在while和for循环中使用else语句,在循环中使用时,else子句只在循环完成后执行,也就是说break语句也会跳过else块。循环是正常结束的(不是通过break),else子句就会执行。

     1 #!/usr/bin/env python
     2 
     3 def showMaxFactor(num):
     4     count = num/2
     5     while count > 1:
     6         if num % count == 0:
     7             print 'largest factor of %d is %d' % (num, count)
     8             break
     9         count -= 1
    10     else:
    11         print num, 'is prime'
    12 
    13 if __name__ == '__main__':
    14     for eachNum in range(10, 21):
    15         showMaxFactor(eachNum)
    16 
    17 [root@localhost python]# python maxFact.py 
    18 largest factor of 10 is 5
    19 11 is prime
    20 largest factor of 12 is 6
    21 13 is prime
    22 largest factor of 14 is 7
    23 largest factor of 15 is 5
    24 largest factor of 16 is 8
    25 17 is prime
    26 largest factor of 18 is 9
    27 19 is prime
    28 largest factor of 20 is 10

    1.5 elif(即else-if语句)

    elif语句用于检查多个表达式是否为真,并在为真时执行代码块中的代码。语法如下:

    if expression1:

      expr1_true_suite

    elif expression2:

      expr2_true_suite

    elif expression:

      exprN_true_suite

    else:

      none_of_the_above_suite

    可使用大量的if-elif语句来实现switch-case语句,也可以用序列和成员关系来实现,还可以用字典来实现。

    1.6 条件表达式(即"三元操作符")

    类似于C语言中的C?X:Y(C是表达式,X是C为True时的结果,Y是C为False时的结果)。python中的语法格式为:X if C else Y。

    >>> x, y = 4, 3

    >>> smaller = x if x < y else y

    >>> smaller

    3

  • 相关阅读:
    scp命令详解
    linux下不同服务器间数据传输(rcp,scp,rsync,ftp,sftp,lftp,wget,curl)
    详解代理自动配置 PAC
    linux卸载
    VMware里克隆出来的CentOS Linux device eth0 does not seem to be present, delaying initialization
    CentOS系统更换软件安装源yum
    kali开启禁止或删除ssh 开机启动
    7天玩转 ASP.NET MVC
    C#高级编程42章 MVC
    C#高级编程(32章)ADO.net
  • 原文地址:https://www.cnblogs.com/mrlayfolk/p/12000494.html
Copyright © 2011-2022 走看看