python基础(3)—— 程序结构

发布时间:2019-09-22 07:54:50编辑:auto阅读(1583)

        python和其他的编程语言一样,也有三种程序结构。顺序结构,选择结构,循环结构。

    1.顺序结构

        顺序结构按照顺序执行程序,不做过多解释。

    2.选择结构

        2.1 if 语句

            if condition:

                expression

            示例:

    [root@willispython]# cat if.py

    #!/usr/bin/env python

    if 3 < 5:

    print "3 less than 5" # 语句块里面可以是多个语句if 3 > 4:

    print "3 greate than 4"

    [root@yeahmonitor python]# ./if.py

    3 less than 5

        2.2else 子句

            if condition:

                expression

            else:

                expression

            if语句里面还可以嵌套if.python是允许语句的嵌套的。else子句总是if语句的最后一个分支。不能出现在elif子句前面。

        2.3 elif 字句

            if condition:

                expresssion

            elif condition:

                expression

            # 可以有多个elif 子句, 但是一旦其中一个分支没执行了,就不会往下再去匹配执行了。

    python中没有switch语句。只能用elif模拟switch.

        2.4 逻辑值(bool)

           用来表示诸如:对于错,真与假,空与非空等概念

    逻辑值包括两个值:

    True:表示非空的量(如:string,tuple,list,set,dictonary 等所有非零)

    False:表示 0,none,空的量等

    作用:主要用于判断语句中,用来判断

    一个字符串是否是空的

    一个运算结果是否是零

    一个表达式是否可用

    >>> if True:

    ... print "ok"

    ...

    ok

    >>> if False:

    ... print "ok"

    ...

    >>> if 1:

    ... print "ok"

    ...

    ok

    >>> if 0:

    ... print "ok"

    ...

    >>>

    例1:

    #!/usr/bin/python

    def fun():

         return 1

    if fun():

        print "ok"

    else:print "no"

        if 和 else 中间不可以出现其他不相关的代码

    例子2:


    #!/usr/bin/python

    x=int(raw_input("please input x: "))

    y=int(raw_input("please input y: "))

    if x>=90:       多个条件判断

        if y>=90:

            print "A"

    elif x>=80:

        print "B"

    elif x>=70:

        print "C"

    else:

        print "no"

    例子3:逻辑结构 and, or, not

    #!/usr/bin/python

    x=int(raw_input("please input x: "))

    y=int(raw_input("please input y: "))

    if x>=90 and y>=90:print "A"

        elif x>=80:

            print "B"

    elif x>=70:

            print "C"

    else:

            print "no"


    3.循环结构

        3.1while循环

        while 循环

    #!/usr/bin/python

        while True:

            print "hello"  #死循环

        

    while 循环一定要有条件

    #!/usr/bin/python

    while True:

        print "hello"

    x = raw_input("please input q for quit")

        if x == "q":

        break

    或者

    #!/usr/bin/python

    当 x=q 时循环结束

    exit()函数可以跳出整个程序x = ""

    while x != "q":

        print "hello"

        x = raw_input("please input q for quit")

    又或者

    #!/usr/bin/python

        x = ""

        while x != "q":

            print "hello"

        x = raw_input("please input q for quit")

        if not x : 直接回车退出

            break

    #!/usr/bin/python

        x = ""

        while x != "q":

            print "hello"

        x = raw_input("please input q for quit")

        if not x : 直接回车退出

            break

        if x == "c": 输入 c 继续循环

            continue

        print "hello world" 如果两次 if 都不满足 print

        else:

            print "ending...."

     while 条件判断失败执行 else 如果是 break 不执行 else

     

       3.2for循环

        for 循环

        for x in [1,2,3,4]

            print x


        迭代序列指数(索引)

        for x in range(100)     默认从 0 开始

            print x


        for x in range(1,11) 不包含最后一个值 11

            print x


        for x in range(1,11,2) 2 为步进值,不指默认为 1

            print x


        #!/usr/bin/python

        num=0

        for x in range(1,101)

            num += x

        print num


        遍历序列

        s="willis"

        for x in range(len(s))

            print s[x]


        l=[1,2,3,'a','b']

        for x in l:

            if x>=2:

        print x


        d={1:111,2:222,3:333}for x in d:

        print d[x]


        for k,v in d.items():

            print k

            print v


        for x in range(1,11):

            print x

        if x==2:

            pass #代码桩,站位

        if x==3:

            print "hello"

            continue

        if x==6:

            #continue 跳过当次循环的余下语句进入下次循环

            break

            #break 结束本次循环

        print "#"*50

     else:

        print "ending"

关键字