Python程序中语句执行的顺序包括3种基本控制结构:顺序结构、选择结构、循环结构。
1、顺序结构
程序中语句执行的基本顺序按各语句出现位置的先后次序执行,称为顺序结构,参见下图。先执行语句块1,再执行语句块2,最后执行语句块3。三者是顺序执行关系。
2、选择结构
选择结构可以根据条件来控制代码的执行分支,选择结构也叫分支结构。Python使用if语句来实现分支结构。
分支结构包含多种形式:单分支、双分支和多分支,流程图如下:
2.1、单分支结构
if语句单分支结构的语法如下所示:
if(条件表达式):
语句/语句块
当条件表达式的值为真(True)时,执行if后的语句,否则不做任何操作,控制将转到if语句的结束点。
num1 = int(input("Please input a number:"))
num2 = int(input("Please input a number:"))
print(str.format("输入值:{0},{1}", num1, num2))
if(num1 < num2):
t = num1
num1 = num2
num2 = t
print(str.format("降序值:{0},{1}", num1, num2))
2.2、双分支结构
if语句双分支语句结构的语法如下:
if(条件表达式):
语句/语句块1
else:
语句/语句块2
当条件表达式的值为真(True)时,执行if后的语句1,否则执行else后的语句2
num = int(input("Please input a number:"))
if num >= 0:
print()
if num % 2 == 0:
print("{}是偶数".format(num))
else:
print("{}是奇数".format(num))
else:
print("请输入一个非负数")
2.3、多分支结构
if语句多分支结构的语法如下 :
if(条件表达式):
语句/语句块1
elif(条件表达式2):
语句/语句块2
...
elif(条件表达式n):
语句/语句块n
else:
语句/语句块n+1
该语句的作用是根据不同条件表达式的值确定执行哪个语句
mark = int(input("请输入分数:"))
if(mark >= 90):
grade = '优'
print(grade)
elif(mark >= 80):
grade = '良'
print(grade)
elif(mark >= 70):
grade = '中'
print(grade)
elif(mark >= 60):
grade = '及格'
print(grade)
else:
grade = '不及格'
print(grade)
2.4、if语句的嵌套
在if语句中又包含一个或者多个if语句的结构称为if语句的嵌套。一般形式如下:
3、循环结构
循环结构用来重复执行一条或多条语句。使用循环结构,可以减少源程序重复书写的工作量。许多算法需要使用到循环结构。Python 使用for语句和while语句来实现循环结构。
3.1、for循环
for语句用于遍历可迭代对象集合中的元素,并对集合中的每个元素执行一次相关的嵌人语句。当集合中的所有元素完成迭代后,控制传递给for 之后的下一个语句。for 语句的格式如下:
for 变量 in 对象集合:
循环体语句/语句块
for i in (1, 2, 3):
print(i)
3.2、range 对象
Python 3内置对象range是一个迭代器对象,迭代时产生指定范围的数字序列。其格式为:range( start , stop[ ,step])。range返回的数值系列从start开始,到stop结束(不包含stop)。如果指定了可选的步 长step,则序列按步长增长。例如:
3.3、while循环
与for循环一样,while也是一个预测试的循环,但是while在循环开始前,并不知道重复执行循环语句序列的次数。while 语句按不同条件执行循环语句(块)零次或多次。while循环语句的格式为:
while(条件表达式):
循环体语句/语句块
count = 0
while (count < 9):
print("The count is:", count)
count = count + 1
print "Good bye!"
3.4、break
break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。 break语句用在while和for循环中。
如果您使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码。
num = int(input("Please enter a number: "))
flag = True
if num > 1:
for i in range(2, num//2 + 1):
if (num % i) == 0:
flag = False
break
if flag:
print(num, "是质数")
else:
print(num, "不是质数")
else:
print(num, "不是质数")
3.5、continue
python continue 语句跳出本次循环,而break跳出整个循环。continue 语句用来告诉python跳过当前循环的剩余语句,然后继续进行下一轮循环。
continue语句用在while和for循环中。
for i in range(1, 6):
if i == 3:
continue
print("i=", i)