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

    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"


本文转自willis_sun 51CTO博客,原文链接:http://blog.51cto.com/willis/1854703,如需转载请自行联系原作者

上一篇:结构体存入文件并且取出


下一篇:《3D打印:正在到来的工业革命》一一1.2 为什么使用3D技术打印