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------------------------------------------------------------------------

时间: 2024-08-06 03:42:49

Python修行之路__流程控制的相关文章

Python修行之路__数据类型

Python3中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Dictionary(字典) Set(集合) 在Python中,最基本的数据结构就是序列(sequence).序列的每个元素被分配一个序号—即索引(元素的位置),第一个索引是0,第二个则是1,以此类推. Number(数字) 数值类型: 类型 描述 语法示例 int (整型) 无小数部分的数(python3中只有一种整型类型int(长整型),没有Python2中的Long)

9.python的布尔类型与流程控制

布尔类型其实可以算是一种特殊的数字,下面是 help() 函数得到的帮助信息: Help on class bool in module __builtin__: class bool(int) | bool(x) -> bool | | Returns True when the argument x is true, False otherwise. | The builtins True and False are the only two instances of the class b

Python学习(三)流程控制

Python流程控制 本章介绍 python 的基础流程控制.包括 if 条件语句.for 循环 和 while 循环语句: continue 及 break 的用法等. 基本用法与 C 和 Java 差不多,无 switch 语句. if 语句 以下例为例,if(...)  括号内为一表达式,当为True(即成立)时,执行对应的代码段,注意,所有条件语句后方都需加冒号 : 1 ''' 判断用户输入的整数是几位数(暂不考虑用户输入非整数) 2 为零 输出 It's zero. 3 个位数 输出

python基础(3)---流程控制

流程控制 与C语言不通的是python的流程控制代码块不是用{}花括号表示的,而是强制缩进来控制的:而且缩进必须一致,官方推荐是使用4个空格,不建议使用tab(制表符)做缩进,一是不同的系统tab所占宽度不一致,会比较乱,二是由于python要求同级缩进必须保持一致,所以有些时候看上去是对齐l,但是有的是空格有的是tab键,使得不容易排错,另外条件判断的语句不需要使用()括起来,但是条件语句后面使用: 1.条件判断--if语句 条件判断就是执行某个代码段之前先进行判断,如果符合再执行某个代码块

python基础02—运算符与流程控制

运算符与流程控制 运算符 赋值运算 用'='表示,'='的左边只能是变量 算术运算 +.-.*:加.减.乘 /:除法运算,运算结果为浮点数 //:除法运算,运算结果为整数(商) %:求余 **:求幂 复合运算 +=.-=.=./=.//=.%=.*= 关系运算(比较运算) >.>=.<.<=.==.!= 由操作数和运算符组成的式子称为表达式 关系表达式是有值的(布尔值),符合数学逻辑值为True,不符合数学逻辑值为False 逻辑运算 与(and):两边的表达式同时为真,值才为真

python修行之路(三 模块初识及数据运算类型)

在python修行路上,果不其然的遇到了第一个困处,开始看不懂代码,开始出现理解苦难的现象,这是小白修行路上的正常现象.其实自己是很慌的,感觉很无助,能做的就是把自己学的慢慢记录下来,理一个自己的逻辑,尽量写清楚,写的通俗易懂,为与我类似的修行者做参考. 一.模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,使用时安装调用就好,现在先象征性的学习2个简单的. sys模块--sys pass功能#!/usr/bin/env python# -*- coding: utf-8

python 修行之路(1-自我介绍及python环境的搭建)

一.自我介绍 我是一个代码小白,做的非IT的工作.生活的城市因为电子和IT技术的普遍性(呵呵,其实也和收入有关),也有想学习一门技术的想法,误打误撞的走上了学习Python的道路.其实对于一个纯小白来时,学习真的很难,代码看不懂,甚至课都听不懂,更重要的是,半路出家对于身在职场的人真的难度太大了.不过细想起来,这会不会是一种挑战?会不会是一种机遇?这不正是当初书生意气,仗剑走天涯的感觉么?不管怎样,既然要学就要学好,就算是为了证明我不害怕代码(呵呵).相信向我这样小白走上啃代码道路的人一定会有,

Python的学习之旅———流程控制之if...else....

if...else.... 如上面的流程表示 if符合条件(条件是true)就执行条件代码,如果条件为false,则执行eles的代码. 当然 if....eles是可以嵌套的. Age=int(input("请输入你年龄:"))Sex=input('请输入你的性别:')hello = "你好美女"if Age < 30 and Sex=="女": print(hello)elif Age>=30 and Sex=="女&q

python学习笔记二:流程控制

一.if else: #!/usr/bin/python x = int(raw_input('please input:')) if x >= 90: if x >= 95: print 'a+' else: print 'a' elif x >= 80: if x >= 85: print 'b+' else: print 'b' elif x >= 70: if x >= 75: print 'c+' else: print 'c' else: if x >