目录:https://www.jianshu.com/p/863c446364a8
一、顺序结构
顺序结构是程序控制中最简单的一种结构。该结构的特点是按照语句的先后顺序依次执行,每条语句只执行一次。
实例
print("a")
print("b")
print("b")
print("c")
输出结果为:
a
b
b
c
顺序结构是程序中最简单也是最重要的结构。
二、 选择结构
在实际应用中,有时需要通过某个判断来决定任务是否执行或者执行的方式。对于这样的情况,仅有顺序结构控制是不够的,需要选择结构。Python中的if语句实现了选择结构控制,还可以使用if-elif-else结构来实现多分支控制。
(1) 单分支结构 if语句
语法:
if 条件:
语句块
实例:
a=10
if a>5:
print("a>5")
a>5
(2) 二分支结构 if-else语句
语法:
if条件:
语句块1
else:
语句块2
实例:
a=3
if a>5:
print("a>5")
else:
print("a<=5")
a<=5
(3) 多分支结构 if-elif-else语句
语法:
if 条件1:
语句块1
elif 条件2:
语句块2
...
else:
语句块n
实例:
a = 10
if a<5:
print("a<5")
elif a>5 and a<10:
print("5<a<10")
else:
print("a>=10")
a>=10
三、循环结构
同样,在实际应用中,有时需要对某一个语句块重复执行多次,或者遍历某个对象。对于这样的情况,我们还需要循环结构。Python中有两种语句可以实现循环结构,分别是for语句和while语句。
循环结构语句
(1) for语句
语法:
for 变量名 in 可遍历对象:
语句块
else:
语句块
实例:
a="abcdefg"
for i in a:
print(i,end=" ")
else:
print("只要for循环执行成功,这里就执行")
a b c d e f g
只要for循环执行成功,这里就执行
这里我们有一个问题,假如我们有一个列表如下:
li=[[1,2,3],[4,5,6],[7,8,9]]
我们想要获取他每个最基本的元素,那么就需要用到嵌套循环:
for 变量名1 in 可遍历对象:
语句块1
for 变量名2 in 可遍历对象:
语句块2
...
我们用这样的格式遍历我们刚才的列表:
li=[[1,2,3],[4,5,6],[7,8,9]]
for i in li:
for j in i:
print(j,end=" ")
1 2 3 4 5 6 7 8 9
注意点:当我们第一次执行第一层for循环时,i 等于 [1,2,3],此时的i本身就是一个可遍历对象。
(2)、while语句
while语句没有for语句的使用频率高,但是我们也要掌握。
语法:
while 条件表达式:
语句块
else:
语句块
实例:
a=10
while a>1:
a -= 1
print(a,end=" ")
else:
print("只要while执行成功,这里就执行")
9 8 7 6 5 4 3 2
只要while执行成功,这里就执行
我们来用while循环做一个猜数字小游戏:
import random
#我们定义了一个布尔值变量a,用它来控制游戏的进行
a=True
#获取一个随机整数
b=random.randint(1,100)
while a:
#让用户输入一个整数
c=eval(input("请输入一个整数:"))
#对用户输入的数字与随机生成的数字进行对比
#如果我们输入的数字大于随机数,则输出“你猜大了”
#反之,输出“你猜小了”
#如果我们输入的数字等于随机数,则输出“你猜对了”,并将a改为False,结束while循环。
if c == b:
print("你猜对了")
a = False
elif c<b:
print("你猜小了")
else :
print("你猜大了")
(3)循环控制语句
我们依旧拿我们的猜数字小游戏举例,我们猜中后,需要对a的值进行修改才能退出游戏,那么有没有一种方法能够让我们一猜中,就直接跳出循环,这就有了我们的循环控制语句--break和continue
break
作用:跳出循环。
我们用一个for循环来举例:
for i in range(10): #range()函数可以快捷的生成一个指定长度的列表。
if i == 5:
break
print(i,end=" ")
else:
print("被break强制中断后,这里不会执行")
0 1 2 3 4
这个for循环会遍历输出0到9,但是当 i==5 时,会执行 break 语句,直接跳出循环,循环结束。
同时else语句后的语句块也不会执行。
continue
作用:跳出当前循环,执行下次循环。
我们依旧用上面那个实例来说明
for i in range(10):
if i == 5:
continue
print(i,end=" ")
else:
print("被continue中断后,这里会执行")
0 1 2 3 4 6 7 8 9
被continue中断后,这里会执行
continue只会影响 i=5 时的一次循环,他会结束当前循环,但是依旧会进行下一次循环。