流程控制之if、while
流程控制之if、while
什么是流程控制?流程控制的分类有哪些?
流程控制就是控制事物的执行流程;它的分类有:
1.顺序结构:从上到下依次执行。
2.分支结构:根据某些判断做出不同的流程。
3.循环结构:根据某些条件做出反复相同的流程(一般都会在某个条件结束循环,不会一直一直循环)。
分支结构
顺序结构我们就不在讲了,因为我们之前写的代码遵循的都是顺序结构,所以今天我们来讲一讲分支结构:
单if分支:
上面我们以经讲过,分支结构就是在某个判断条件执行不同的流程,我们举个例子,比如:夏天你在街上走着,你看到一个卖冰棍的,你再思考买还是不买,其实你思考买还是不买的时候就是在做出判断,“买”,你可以吃到冰棍,但是你会少两块钱,“不买”,你不会少两块钱,但是你吃不到冰棍,这就是根据某个判断条件执行不同的流程。我们用代码来实现一下上述功能:
is_bought = True if is_bought == True: print('买了')
大家来看一下它的结构:“if”+“判断条件”+“:”,然后打印输出。大家注意看“print”的前面,是不是有空格,在这里跟大家讲一下为什么有空格?
在python中使用缩进来表示它的主从关系,看图:
注意:如果多行代码同属于一个父代码,那么必须保持相同的缩进,在python中我们一般用四个空格来表示缩进,也可以用一个tab键,具有相同缩进的代码是遵循顺序结构的,从上往下执行。
if与else分支
接着往下看,我们讲了,分支结构是根据某个判断条件来执行不同的流程,那怎么表达出来呢来看:
is_bought = True if is_bought == False: print('买了') else: print('不买了')
这时候我们会发现多了个“else”,其他的我们都认识了,那这个是干嘛的呢?这个的官方叫做“if与else分支”,根据条件的判断执行不同的流程,打印不同的事物。
我们来看一下代码执行时候的流程图:
if与else与elif分支
上面我们只讲了有一个判断条件,那如果有很多的判断条件呢,举个例子:一个成绩判断程序,大于90优秀,大于80良好,大于70一般,大于60及格,小于60不及格,这样的话用代码怎么实现的呢,来看:
score = 85 if score > 90: print('优秀') elif score > 80: print('良好') elif score > 70: print('一般') elif score > 60: print('及格') else: print('不及格')
来简单看一下上述代码的语法结构:
if 条件1:
条件1成立执行的子代码(可多行)
elif 条件2:
条件1不成立条件2成立执行的子代码(可多行)
elif 条件3:
条件1不成立条件2不成立条件3成立执行的子代码(可多行)
else:
以上都不成立执行的子代码(可多行)
注意:中间的elif可以多个。
循环结构
while循环
语法结构:
while 条件:
条件成立执行的循环体子代码
有两点需要注意:1.先判断条件是否成立,如果成立执行循环体子代码,不成立则不执行。
2.循环体子代码执行完毕后,再一次判断条件是否成立,如果成立则继续执行循环体子代码,否则跳出循环。
while True: name = input('输入你的名字:') password = input('输入你的密码:') if name == 'oscar' and password == '123': print('登录成功') else: print('名字或密码错误')
上述代码就是一段简单的while循环代码,但是你会发现不管你是登陆成功还是失败,它一直在循环,那么结合我们的生活实际,要怎么在登录成功的时候结束循环呢,这就要用到“break”。
while+break循环
break:用于直接结束本层循环(只能结束所在的那一层的循环)。
while+continue循环
continue:直接结束本次循环,开始下一次循环。
# 打印0-10,但是不要4 count = 0 while count < 11: if count == 4: count += 1 continue print(count) count += 1
执行这一段代码时你会发现,打印出来的数字并没有4,这是因为在count等于4的时候直接结束了这一次的循环,开始了下一次的循环,并没有打印。
这里时IT小白陆禄绯,欢迎各位大佬的指点!!!