第3章 Python的控制语句
- if 语句
- if ... else ... 语句
- if ... elif... else ... 语句
- while 循环
- for 循环
- 中断语句
- 结构化编程
input([prompt]) --> 数字, 接收数字或表达式
raw_input([prompt]) --> 字符串, 接收任意内容
3.1 结构化程序设计
结构化程序设计是以模块设计为中心,
将待开发的软件系统划分为若干个相互独立的模块,
这样使完成每个模块的工作变得明确,
为设计一些较大的软件打下良好的基础.
结构化程序设计的主要方法是 --- 自顶向下,逐步细化
结构化程序设计分为3种结构 --- 顺序 判断 循环
3.2 条件语句
条件语句是根据条件表达式的不同计算结果,
使程序执行到不同的代码块.
3.2.1 if 语句
if (表达式) :
语句1
[
else :
语句2
]
3.2.2 if elif else 语句
if (表达式1) :
语句1
elif (表达式2) :
语句2
[
else :
语句3
]
3.3 循环语句
- while
- for
循环语句是指重复执行同一段代码.
循环语句是由循环体及终止条件两部分组成
循环体: 一组被重复执行的语句
终止条件: 控制重复执行的次数
3.3.1 while 循环
while (表达式) :
...
[
else :
...
]
直到循环表达式的值为false, 程序的流程转到else语句
即while循环正常执行完毕, 才会执行else语句
3.3.2 for 循环
for 变量 in 集合 :
...
[
else :
...
]
用于遍历一个集合, 依次访问集合中的每个项目.
执行过程: 每次循环从集合中取出一个值, 并把该值赋给变量
变量 无需另外声明
集合可以是元组 列表 字典 等数据结构
列表可以通过 range([start,]stop[,step]) 生成
列表也可通过 xrange([start,]stop[,step]) 生成
range 一次返回整个列表
xrange每次返回一个值, 资源耗费小, 效率较高
3.3.3 break 和 continue
用于控制语句的跳转
- break : 结束整个循环
- continue : 结束当次循环
3.4 冒泡程序
def bubbleSort(numbers):
for x in xrange( len(numbers) - 1, -1, -1):
for y in xrange(x):
if ( numbers[y] > numbers[y + 1] ) :
numbers[y], numbers[y + 1] = numbers[y + 1], numbers[y]
print numbers
def bubbleSort_2(numbers):
for x in xrange( 0, len(numbers) - 1, 1 ):
for y in xrange( 0, len(numbers) - x -1, 1 ):
if ( numbers[y] > numbers[y + 1] ) :
numbers[y], numbers[y + 1] = numbers[y + 1], numbers[y]
print numbers
"""
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - i - 1; j++)
if (arr[j] > arr[j+1]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - i - 1; j++)
if (arr[j] > arr[j+1]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
"""
def main() :
numbers = [7, 2, 3, 5, 8, 1, 9, 4, 6, 0]
bubbleSort(numbers)
numbers_2 = [7, 2, 3, 5, 8, 1, 9, 4, 6, 0]
bubbleSort_2(numbers_2)
if __name__ == '__main__':
main()
# print range( 9, -1, -1 )
# print range( 0, 10, 1 )
# print range( 0 )
pass