上一节教程我们简单讲了一下while循环,相信大家对流程控制有脸一个初步的印象。我觉得编程就像是运动一样,赋值,比较等就像走,跑,跳等基础动作,流程控制告诉我们什么时候拐弯,什么时候停下来,什么时候去跳去加速,一套流程下来我们写出了这个程序,就像完成了一整套运动一样,不过程序将这种运动抽象成一种可以不断重复的高效率程序。
下面我说一下流程控制中用到的其他语句。
If语句
If语句一共有三个关键字if、elif、else。其中if是必须要有的,其他两个关键词是可选的。整个句式按照如下格式。
If 条件一
执行1
elif 条件二
执行2
elif 条件三
执行3
。。。
Else
执行兜底行为
以跑步相比的话If语句就像是一个分岔路口,有多少个关键词就相当于多少个分岔。满足哪个条件就走哪条路,else是所有条件都不满足的时候走的那条路。每个语句之间是平行的关系,就像你跑步的时候不可能同时走多条分叉一样,只能选一条。如果没有else关键词的话,if语句是可能不会执行任何行为的,条件中没有一个能满足的话相当于跳过了该分岔路口。
我们可以用if做一个简单的交互式体验,有输入有输出。多运行几次此程序,体验每个条件的判断,有利于对if语句的了解。
x = int(input("Please enter an integer: ")) #要求用户输入一个整数if x < 0: #判断用户输入的数据是否小于零 x = 0 #给x赋值零 print('Negative ,changed to zero') #告诉用户输入错误,x已被赋值为零elif x == 0: #判断输入是否为零 print('Zero') #反馈给用户零elif x == 1: #判断输入是否为1 print('One') #反馈给用户else: print('More') #如果上述条件都不满足告诉用户属于其他状况
for语句
for语句有两个关键词,for,in。两个关键词必须同时使用。按如下句式执行。
for w in x
语句
其中x是一个序列,可以是列表或字符串等。W代表每次循环的元素,它的值会在每次循环开始时更新为当前元素。与跑步相比的话就相当于有很多个运动员排队跑一条路,循环的每一次相当于一个运动员跑一次同样的路。和if语句相比,for语句中的每个元素都必须执行一次,是按序列顺序的串联关系。相当于每个运动员都必须跑一次。
我们可以用一个序列试验一下。
words = ['cat', 'window', 'defenestrate'] #给序列赋值for w in words: #遍历每一个序列中的元素 print(w, len(w)) #打印每一个元素,和元素的长度。
range()函数
range()函数会生成类似一个数字序列,它可以有三个参数,用如下代码实验他每个参数的作用。
y=range(5) #只有一个参数时,生成一个以零开始的序列,参数是个数for x in y: print(x,end=',')print('')y=range(5, 10) #两个参数时,第一个参数是范围开始,第二个参数是范围结尾,包括开始不包括结尾for x in y: print(x,end=',')print('')y=range(0, 10, 3) #三个参数时,分别是,范围开始,范围结尾,增加幅度(或者叫步进)for x in y: print(x,end=',')print('')y=range(-10, -100, -30) # 参数也可以为负数for x in y: print(x,end=',')
如上图中所示,range函数经常和for循环结合处理数字。
这节教程就讲到这里,下一节继续讲解其他控制语句的关键词。
教程领进门,进步在个人。