Python程序设计语言和其他语言类似,具有三种典型的控制结构:
(1) 顺序结构 | (2) 选择结构 | (3) 循环结构 |
---|---|---|
在程序,从上到下,一条一条地中顺序执行。 | 根据一定的条件决定执行那一部分的语句序列。 | 根据一定的条件执行若干次。 |
1、选择语句
1.1、if语句
if 表达式:
语句块
# 如果表达式成立(为真),则程序执行语句块;如果表达式不成立(为假),则程序跳过语句块,继续向下执行。表达式可以是比较大小,判断是否相等,或者是某个值。
# if语句,举例如下:比较a,b两个值的大小
a,b=1,2
if b>a:
b=a
# 注意,所有符号都是英文,语句块相对于if,前面有4个空格,否则报错。初学者特别容易搞错,造成代码错误。
1.2、if…else语句
if 表达式:
语句块A
else:
语句块B
# 如果表达式成立(为真),则程序执行语句块A;如果表达式不成立(为假),则程序执行语句块B。表达式可以是比较大小,判断是否相等,或者是某个值。
# if...else语句举例如下:判断奇数还是偶数
a = 1
if a%2 == 0:
print("a是偶数")
else:
print("a是奇数")
# 注意,else是配合if一起使用的,不能单独使用;else和if是对齐的。所有符号都是英文的,否则报错。
1.3、if…elif…else分支语句
if 表达式1:
语句块A
elif 表达式2:
语句块B
elif 表达式3:
语句块C
...
else:
语句块N
# 如果表达式1成立(为真),则程序执行语句块A;如果表达式1不成立(为假),则程序执行表达式2的判断,如果表达式2成立(为真),则程序执行语句块B;如果表达式2不成立(为假),则程序执行表达式3的判断,如果所有表达式都不成立,则执行else下面的语句块N。表达式可以是比较大小,判断是否相等,或者是某个值。
# if...elif...else语句举例如下:判断灯的颜色
color = 'red'
if color == 'green':
print("绿灯")
elif color == 'yellow':
print("黄灯")
elif color == 'red':
print("红灯")
else:
print("颜色错误")
1.4、if语句的嵌套
# if表达式可以相互嵌套的,举例子如下:
if 表达式1:
if 表达式2:
语句块a
else:
语句块b
else:
if 表达式3:
语句块c
else:
语句块d
# if嵌套的举例如下:判断成绩是否是优秀
score = 99
if score >=75:
if score >=90:
print("优秀")
else:
print("良")
else:
if score >= 60:
print("及格")
else:
print("不及格")
# 如果表达式成立(为真),则程序执行语句块;如果表达式不成立(为假),则程序跳过语句块,继续向下执行。表达式可以是比较大小,判断是否相等,或者是某个值。
2、循环语句
2.1、while循环语句
while 表达式:
语句块
# 如果表达式成立(为真),则程序执行语句块;然后重新判断表达式的返回值,直到表达式返回值不成立(为假),退出循环。表达式可以是比较大小,判断是否相等,或者是某个值。
# while循环举例如下:求取1~99的整数和
n = 1
sum = 0
while(n<=99):
sum+=n
n+=1
print("1~99的整数和是: ",sum)
# 注意,所有符号都是英文,同样也要注意缩进,否则报错,注意不要写无法退出的循环。
2.2、for循环语句
for 迭代变量 in 对象:
语句块
# 迭代变量用于保存读取出的值;对象为要迭代的对象,该对象可以是任何有序的序列对象。
# for循环举例如下:求取1~99的整数和
sum = 0
for n in range(1,100):
sum+=n
print("1~99的整数和是: ",sum)
# 注意,代码中的range()函数,具体用法学者自行查询学习。
2.3、循环嵌套
# while循环中嵌套while循环
while 表达式1:
while 表达式2:
语句块a
语句块b
# for循环中嵌套for循环
for 迭代变量1 in 对象1:
for 迭代变量2 in 对象2:
语句块a
语句块b
# while循环中嵌套for循环
while 表达式:
for 迭代变量 in 对象:
语句块a
语句块b
# for循环中嵌套while循环
for 迭代变量 in 对象:
while 表达式:
语句块a
语句块b
# 循环嵌套举例如下:打印九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print('{}x{}={}\t'.format(j,i,i*j),end='')
print()
3、跳转语句
3.1、break跳转语句
# break语句可以用在for、while循环中,用来终止循环。不会等表达式的判断,只要程序运行到break语句就会终止循环。
# while语句中使用break语句
while 表达式1:
语句块
if 表达式2:
break
# for语句中使用break语句
for 迭代变量 in 对象:
if 表达式:
break
# break语句举例如下:某个数加一,直到值为5
# 跳出while循环
i = 1
while True:
i+=1
print("i=",i)
if i == 5:
break
# 跳出for循环
for i in range(0,9):
print("i=",i)
if i == 5:
break
3.2、continue跳转语句
# continue语句是跳出本次循环,也就是说,程序遇到continue语句后,会跳过当前循环的剩余语句,然后继续进行下一轮循环。这和break是不同的,break是跳出了循环。
# 在while中使用continue语句
while 表达式1:
语句块
if 表达式2:
continue
# for语句中使用continue语句
for 迭代变量 in 对象:
if 表达式:
continue
# continue语句举例如下:某个数加一,跳出某个数为5的循环
# 跳出while循环
i = 1
while True:
i+=1
print("i=",i)
if i == 5:
continue
# 跳出for循环
for i in range(0,9):
print("i=",i)
if i == 5:
continue
3.3、pass语句
# pass语句,表示空语句,它不做任何事请,一般起到占位作用。
# 使用pass语句占位,方便以后不是偶数的时候进行处理。
for i in range(0,9):
if i%2==0:
print(i,end='')
else:
pass