Python修行之路__流程控制
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python修行之路__流程控制相关的知识,希望对你有一定的参考价值。
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 python‘s 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修行之路__流程控制的主要内容,如果未能解决你的问题,请参考以下文章