码迷,mamicode.com
首页 > 编程语言 > 详细

Python修行之路__流程控制

时间:2016-05-16 19:59:45      阅读:360      评论:0      收藏:0      [点我收藏+]

标签:

  Python和其他语言有一个很大的区别在于:Python 使用硬回车来分割语句,使用冒号(:)和缩进来分割代码块。同一层次的语句必须有相同的缩进(每一组这样的语句称为一个块),而C语言风格的编程语言(Java/C#/C++)则使用分号来分割语句,花括号来分割代码块。

  (注:不要混合使用tab键和空格来进行缩进,这会使程序在跨平台时不能正常的工作。官方推荐的做法是使用四个空格。)

 

  • 条件和条件语句

Python条件语句是通过一条或多条语句的执行结果(True或False)来决定执行的代码块。在python中,解释器认为标准值False、None和所有类型的数字0(浮点型,长整型等)、空序列(字符串、字典、列表等)都为假(False),任何非0和非空(null)值为True。

如下所示:

#True
>>> print bool(True)
True
>>> print bool(1)
True
>>> print bool("a")
True

#False
>>> print bool(False)
False
>>> print bool(None)
False
>>> print bool(0)
False
>>> print bool("")
False
>>> print bool(())
False
>>> print bool([])
False
>>> print bool({})
False

条件语句执行过程如下:

技术分享

  • if条件判断

Python变成中,if语句用语控制程序的执行,基本形式为:

1 if <判断条件1>2     <执行语句1…>
3 elif <判断条件2>:
4     <执行语句2…>
5 else:
6     <执行语句3…>

其中当“判断条件1”成立时,执行“执行语句1”(执行内容可以多行,以缩进来区分表示同一范围);当“判断条件2”成立时,执行“执行语句2”。else为可选语句,当在所有条件不成立时,则执行“执行语句3”。

示例如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

name = input("Please input your name:")
if name == "Python":
    print("Welcom to python\‘s world! %s"%name)
elif name == "Summer":
    print("Nice to meet you! %s"%name)
else:
    print("Who are you! %s"%name)

执行结果如下:
Please input your name:Python
Welcom to pythons world! Python

Please input your name:Summer
Nice to meet you! Summer

Please input your name:zhangsan
Who are you! zhangsan

 

  • 循环

循环语句允许我们执行一个语句或语句组多次,在循环语句中,程序一般情况下是按顺序执行的。Python提供了for循环和while循环:

循环类型 描述
for循环 重复执行语句。
while循环 在给定的判断条件为true时执行循环体,否则退出循环体。
嵌套循环 可以在while循环体中嵌套for循环。

 

循环语句一般形式如下:

技术分享

循环控制语句可以更改语句执行的顺序,Python支持的循环控制语句如下:

控制语句     描述
break 在语句块执行过程中终止循环,并且跳出整个循环。
continue 在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环。
pass pass是空语句,是为了保持程序结构的完整性。
    • for循环

Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

基本形式(例:打印0-10的值):

1 numbers = range(0,11)
2 for num in numbers:
3     print(num)

 

实例:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

for i in "Python":
    print(i)

for name in ["zhangsan","lisi","Summer"]:
    print(name)

执行结果如下:
P
y
t
h
o
n
zhangsan
lisi
Summer

 

执行流程图:

技术分享

 

实例2:

#通过序列索引迭代

#!/usr/bin/env python
# -*- coding: utf-8 -*-

name = ["zhangsan","lisi","Summer"]
for i in range(len(name)):
    print("The name is: %s"%(name[i]))

print("Bye~")

执行结果:
The name is: zhangsan
The name is: lisi
The name is: Summer
Bye~

上面实例,使用了内置函数len()和range(),函数len()返回列表长度(即元素个数);range()返回一个序列的数。

 

else

else中的语句会在循环正常执行完(即for循环不是通过break跳出而中断的)的情况下执行,while…else同样。

实例:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

name = ["zhangsan","lisi","Summer"]
for num in range(1,4):
    for i in range(len(name)):
        if name[i] == "Summer":
            print("%s is a good girl!*%s"%(name[i],num))
    else:
        print("Bye~")

执行结果:
Summer is a good girl!*1
Bye~
Summer is a good girl!*2
Bye~
Summer is a good girl!*3
Bye~

 

    • while循环

while语句用于循环执行程序,即在某条件下,会一直执行其后的语句块(如果条件判断语句永远为 true,循环将会无限的执行下去;无限循环可以使用CTRL+c来终止)。

基本形式:

while 判断条件:
    执行语句…

判断条件可以是任何表达式,任何非零/非空(null)的值均为True;执行语句可以是单个语句或语句块。

实例:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

num = 0
while num < 5:
    print(num)
    num += 1
print("Bye~")

执行结果:
0
1
2
3
4
Bye~

流程图:

技术分享

 

 

    • 嵌套循环

Python语言允许在一个循环体内嵌入另一个循环体(可以在循环体嵌入其他的循环体,如:在while循环中嵌入for循环,也可以在for循环中嵌入while循环)。

实例:

 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 #输出1-10之间的质数
 4 
 5 i = 2
 6 
 7 while (i < 10):
 8     j = 2
 9     while (j <= (i/j)):
10         if not (i%j):
11             break
12         j += 1
13     if (j > i/j):
14         print("%s is prime number!"%i)
15     i += 1
16 print("Bye~")
17 
18 执行结果:
19 2 is prime number!
20 3 is prime number!
21 5 is prime number!
22 7 is prime number!
23 Bye~

 

    • break语句

break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。(如果是嵌套循环,break语句终止最深层的循环,并开始执行下一行代码)。

流程图:

技术分享

实例:

 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 
 4 for i in "Python":    # The first example
 5     if i == "t":
 6         break
 7     print(i)
 8 
 9 num = 10              # The second example
10 while num > 0:
11     print(num)
12     num -= 1
13     if num == 6:
14         break
15 
16 print("Bye~")
17 
18 执行结果:
19 P
20 y
21 10
22 9
23 8
24 7
25 Bye~

 

    • continue语句

continue语句用语跳出本次循环,继续下一轮循环(break用语跳出整个循环)。

流程图:

技术分享

实例:

 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 
 4 for i in "Python":    # The first example
 5     if i == "t":
 6         continue
 7     print(i)
 8 
 9 num = 5              # The second example
10 while num > 0:
11     num -= 1
12     if num == 3:
13         continue
14     print(num)
15 
16 print("Bye~")
17 
18 执行结果:
19 P
20 y
21 h
22 o
23 n
24 4
25 2
26 1
27 0
28 Bye~
    • pass语句

pass是空语句,是为了保持程序结构的完整性。

实例:

 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 
 4 for i in "Python":
 5     if i == "t":
 6         pass
 7         print("Pass code")
 8     print(i)
 9 
10 执行结果:
11 P
12 y
13 Pass code
14 t
15 h
16 o
17 n

 

-----------------------------------------------------------THE END------------------------------------------------------------------------

 

Python修行之路__流程控制

标签:

原文地址:http://www.cnblogs.com/summer-dhy/p/5497676.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!