python程序控制流程
一、主要结构
python的控制流程主要分成三大类:1、顺序结构 2、选择结构 3、循环结构。
1、顺序结构
在阅读代码时按照平时的语言阅读习惯由上至下,由左至右的阅读;也就是在读取代码时从代码的首行开始直至代码末行结束。
2、选择结构
选择结构又称分支结构,一般常见的分支结构有:1、单分支结构 2、双分支结构 3、多分支结构
1、单分支结构
if 条件表达式:
语句(所要执行的代码)
eg1:
判断小明是否六岁了
age = int(input("请输入小明的年龄:"))
if age == 6:
print("小明今年六岁了!")
注意:
1、在python中为了减少代码量,使用缩进的方式显示上下层级关系。在执行缩进时谨记不要将空格和tab键混合使用;
2、在If 之后条件语句写好后记得加上冒号;
3、注意每条语句缩进时的规范,严格按照规范执行。
2、双分支结构
if 条件1表达式:
条件1满足时的代码
else:
条件1不满足时的代码
eg2:
age = int(input("请输入小明的年龄:"))#提示用户输入小明的年龄
if age == 6:#条件表达式1,判断年龄等于6
print("小明今年六岁了!")
#当满足条件1时,输出满足条件提示符
else:
print("小明今年不是六岁!")
#当不满足条件1时,输出不满足提示符
3、多分支选择结构
if 条件1:
#条件1成立时应执行的代码
elif 条件2:
#条件2成立时应执行的代码
elif 条件3:
#条件3成立时应执行的代码
...
else:
#当前面条件都不符合时执行的代码
eg3:
num = int(input("请输入0-6中的任意一个数字,让我来告诉你是星期几:"))
#先定义一个数字,提醒用户输入数字该数字数代表星期数
if num == 0:
print("今天是星期一")#意为如果用户输入的数字为0,则向用户说明今天是星期一
elif num ==1:
print("今天是星期二")#意为如果用户输入的数字为1,则向用户说明今天是星期二
elif num ==2:
print("今天是星期三")#...
elif num ==3:
print("今天是星期四")#...
elif num==4:
print("今天是星期五")#...
elif num ==5:
print("今天是星期六")#...
elif num==6:
print("今天是星期天")#...均如上
else:
print("输出字符是非法字符!")#当用户输入的字符不是0~6中的数字时,提示用户输入数据出错
3、循环结构
所谓循环语句结构就是将代码重复的语句通过另一种的表现形式写出来,目的是减少代码的重复使用和代码量。
循环语句有两种:while循环语句、for循环语句
while循环语句
while #循环条件:
#循环体
引入一个简单地while循环结构语句
eg4:
#在没学习循环语句时
print("hello world!")
print("hello world!")
print("hello world!")
print("hello world!")
print("hello world!")
print("hello world!")
print("hello world!")
print("hello world!")
print("hello world!")
print("hello world!")
#该方法代码量大不便于修改
index = 0#定义一个变量并将它的值设为0
while index < 10:#循环条件,控制index的值不能超过10
print("hello world!")
#循环体,每执行一次循环语句输出"hello world!"直到循环结束
index += 1
#给变量自增1,使得每次循环时index的值都增大直到index = 10,
#不符合循环条件为止
print("循环结束")
#当index = 9时,再次对index自增发现不符合循环条件此时退出循环执行该行
通过eg4可以清晰的看到在没有使用while循环语句时,整个代码频繁重复并且不利于修改。当使用while循环语句之后,代码量减少修改方便。
比如说我们想将“hello world!”改为“你好!”这个时候就需要一句一句的修改将每条语句的“hello world!”全部改为“你好”,而在使用循环语句的代码中却只用修改一条语句即可。
for循环
#引入列表到for循环语句之中
ls1 = [1, 2, 3] #定义一个名为ls1的列表
for i in list(ls1): #for 变量 in 容器类型 (容器名):
print(i) #用i变量去迭代列表中的所有元素,依次打印
#运行结果如下:
>>> ls1 = [1, 2, 3]
>>> for i in list(ls1):
... print(i)
...
1
2
3
>>>
#for循环的简单运用,(0~100求和)
add = 0 #定义一个变量add用来承载求和数字
for j in range(101):#使用for循环结构用变量j从0~100依次迭代
add += j #利用迭代对0~100求和
print(add) #最后输出求和的值
#注意print的缩进,print的缩进与for平行代表在for循环结束之后才执行print语句
#for循环是python用来循环数据的(针对可迭代的容器或者对象)
#range()是全局函数,作用是用来创建整数列表
print("1、默认从0开始,到6结束但是不取6,前闭后开区间,默认步长为1")
for a in range(6):
print(a)
print("2、定义range列表从1开始到6结束,默认步长为1")
for b in range(1,6):
print(b)
print("3、定义range列表从1开始到6结束,定义步长为1")
for c in range(1,6,2):
print(c)
print("4、定义range列表从6开始到1结束,结束不取1,定义步长为-1")
for d in range(6,1,-1):
print(d)
#运行结果如下:
1、默认从0开始,到6结束但是不取6,前闭后开区间,默认步长为1
0
1
2
3
4
5
2、定义range列表从1开始到6结束,默认步长为1
1
2
3
4
5
3、定义range列表从1开始到6结束,定义步长为1
1
3
5
4、定义range列表从6开始到1结束,结束不取1,定义步长为-1
6
5
4
3
2
关键字:break和continue
break:
在一个循环语句中一旦出现break将立即跳出循环,在其后面的循环代码不会被执行
#关键字break
for i in range(1,5):
if i == 3: #当i等于3时跳出循环,之后的元素也不再迭代
break
else:
print (i)
#运行结果:
D:\python刘\代码\day6>python text3.py
1
2
continue:
在循环语句中出现continue时,代表跳过本次循环从下次循环开始执行
#关键字continu
for j in range(1,5):
if j == 3: #当j等于3时,跳过本次循环进行下次循环
continue
else:
print(j)
print("continue测试结束")