程序设计中的控制语句有3种,即顺序、选择和循环语句。Python程序通过控制语句来管理程序流,完成一定的任务。程序流是由若干个语句组成,语句既可以是一条单一的语句,也可以是复合语句(即语句中嵌套语句),Python中的控制语句如下:
- 分支语句:if
- 循环语句:while 和 for
- 跳转语句:break、continue 和 return
三种结构:
- “顺序结构”代表:先执行a,再执行b
- “条件判断结构”代表:如果...则...
- “循环结构”:如果...则重复执行...
任何软件和程序,本质上都是由“变量、选择语句、循环语句”组成 。
分支语句
分支语句又叫条件语句,使部分程序根据某些表达式的值有选择的被执行。
if 结构
基本格式如下:
if 条件 :
语句组
- 如果条件为True就执行语句,否则就执行 if 后面的语句;条件可以是逻辑表达式、关系表达式、算术表达式等。
- 在选择和循环结构中,条件表达式的值为False的情况:False、0、0.0、空值None、空序列对象(空列表、空元组、空字典、空字符串)、空range对象、空迭代对象;其他情况,均为True。
- 条件表达式中,不能有赋值操作符and,但是可以有 ==
输入下面代码:
a = int(input("请输入你的本次成绩:"))
if a>=80 :
print("真棒!")
if 60<=a<80 : #在Python中可以用 0<A<100 的表达式
print("进步很大")
if a<60 :
print("继续努力")
代码执行结果: (分别输入59,79,80作为测试条件)
if - else结构
基本格式如下
if 条件 :
语句组1
else :
语句组2
当程序执行到if语句时,先判断条件,如果值为True,则执行语句组1,然后跳过else执行后面的代码;如果条件为False,则忽略语句组1而直接执行语句组2,然后继续执行后面的语句
可以用下图来理解(以2个条件为例)
将上面的 if 结构改写一下,可以得到如下代码:
print("请输入你的本次成绩:")
a = int(input())
if a>=80 :
print("真棒!")
if 60<=a<80 : #在Python中可以用 0<A<100 的表达式
print("进步很大")
else :
print("继续努力")
elif 结构
基本格式如下:
if 条件1 :
语句组1
elif 条件2 :
语句组2
elif 条件3 :
语句组3
...
[else :
语句组n]
其特点为在多个分支中只执行一个语句组,而其他分支都不执行,可用于多条件判断(多分支中几个分支之间是有逻辑关系的,不能随意颠倒顺序)
将上面的程序改写一下可以得到如下程序:
print("请输入你的本次成绩:")
a = int(input())
if a>=80 :
print("真棒!")
elif 60<=a<80 : #在Python中可以用 0<A<100 的表达式
print("进步很大")
else :
print("继续努力")
条件表达式
相信学过Java的朋友就知道Java中有三元运算符,而Python中也提供了类似的功能的条件表达式,其基本格式如下 :
表达式1 if 条件 else 表达式2
当条件为True时,返回表达式1,否则返回表达式2
输入下面代码:
print("请输入你的本次成绩:")
score = int(input())
result = '及格' if score>=60 else '不及格'
print(result)
执行程序并输入60、45作为测试:
循环语句
循环语句能够使代码重复执行,在设计循环的时候需要注意循环之后必须要有出口,否测程序就会一直执行下去。
while语句
基本格式如下
while 循环条件 :
语句组
else:
语句组
while循环没有初始化语句,循环次数不可知,只要循环条件满足,循环就会一直执行循环体。其中else语句只会在while循环正常结束时执行,break、return和异常抛出都会中断循环,此时else不会正常执行。
输入下面代码
i = 0
while i*i<1000:
i += 1
print("i = {0}".format(i))
print("i * i = {0}".format(i*i))
print("循环正常结束")
代码执行结果
for语句
基本格式如下:
for 迭代变量 in 序列 :
语句组
else:
语句组
for语句只用于序列(包括字符串、列表和数组),“迭代变量”是从序列中迭代取出的元素。其中else语句只有在循环正常结束时才会执行。
输入下面代码
for num in range(1,5):
print("{0} * {0} = {1}".format(num,num*num))
numbers = [11,22,33,44,55]
for item in numbers:
print("Count is: {0}".format(item))
代码执行结果
示例2代码如下
for i in 'CSDN':
print(i)
代码运行结果
C
S
D
N
Process finished with exit code 0
可以看到for循环每次从中取一个元素出来,然后执行语句。
跳转语句
能够改变程序的执行顺序
break语句
作用为强行退出循环体,不再执行循环体中剩余的语句。
输入下面代码
for item in range(10):
if item == 6:
break
print("item == {0}".format(item))
代码执行结果
continue语句
用于结束本次循环,跳过循环体中尚未执行的语句。
输入下面代码
for item in range(10):
if item == 6:
continue
print("item == {0}".format(item))
代码执行结果
使用范围
范围在Python中类型是range,表示一个整数序列,创建范围对象需使用range()函数,range()函数语法如下:
range([start],stop[,step])
#start表示开始值
#stop表示结束值
#step表示步长
输入下面代码
for item in range(1,20,4):
print("item is: {0}".format(item))
执行结果如下