流程控制之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小白陆禄绯,欢迎各位大佬的指点!!!

 


__EOF__

本文作者陆禄绯
本文链接https://www.cnblogs.com/pyqsy/p/15977563.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   陆禄绯  阅读(134)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示