热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【Python】控制结构,这个教程一般人我不给

前言还有多少人不会python的控制结构,在评论区告诉我,让我一个个点名提问。今天,就教会你python的控制结构…分行与缩进分行•一条语句占用一行•过长的语句可以占用

【Python】控制结构,这个教程一般人我不给

前言

还有多少人不会python的控制结构,在评论区告诉我,让我一个个点名提问。今天,就教会你python的控制结构…

分行与缩进

分行

•一条语句占用一行

•过长的语句可以占用多行,使用或()控制换行

•[]、{}、()可以直接跨越多行,在列表、字典、元组中需要换行的时候也可以不用添加续行符

a = 1
b = 2
c =a +b
income = (gross_wages
               +taxable_interest
               - ira_deduction)

 

在这里插入图片描述

缩进

•四个英文空格

•同一代码块的语句缩进长度要相等

•源文件的第一行不需要缩进

python学习交流Q群:906715085###
if 条件表达式:
    执行语句
    ......
else:
    执行语句1
    ......

 

顺序结构

•按照从上到下的顺序,一条语句一条语句的执行

◾最基本的结构

◾代码自上而下,依次执行

◾按照解决问题的顺序写出相应的语句即可

开始
把冰箱门打开
把大象装冰箱
把冰箱门关上
结束

 

在这里插入图片描述

选择结构

根据判断再执行决定内容

•使用if…else…语句表示

把冰箱门打开
if 大象能装入:
    把大象装冰箱
else:
    去找一个更大的冰箱
把冰箱们关上

 

•通过一条或多条语句的执行结果(True或False)来决定执行的代码块

•基本形式为if…else…语句

◾if条件语句与else后均有冒号

◾语句都要在if和else语句之后的代码块要缩进

◾判断条件常用>、<、==、>=、<=

◾判断条件为真时,执行代码块1

◾判断条件不成立时,执行代码块2

在这里插入图片描述

单分支、双分支、多分支结构

单分支

•只有一个if语句

◾如果条件正确就执行一个单向if语句

◾当且仅当条件为True时,才执行对应的操作

if salary >= 10000:
    print("I am Happy!") 

 

双分支

•if-else语句根据判断条件真假决定执行哪个动作

◾如果判断条件为True时,则执行if语句下的代码块

◾如果判断条件为False时,执行else语句下的代码块

if salary >= 10000:
    print("I am Happy")
else:
    print("I am Fine!")

 

在这里插入图片描述

多分支

•实现更精细的条件判断

◾elif是else if 的缩写,可以有多个elif

◾elif是更精细的判断条件,并且以冒号结束

◾条件判断从上到下匹配,当满足条件时执行对应的块内语句,后续的elif和else都不再执行

◾此时要注意条件顺序

if salary >= 10000:
    print ("happy")
elif salary >= 5000:
    print("ok")
else:
    print("sad")

 

循环结构

while循环

•只要条件满足,就一直循环

◾在某条件下,循环执行某段程序,用于处理重复相同的任务

◾while语句后有冒号

◾判断条件为真时,执行代码块1,代码需要缩进

◾判断条件为假时,执行代码块2,代码应取消缩进

◾注意防止死循环产生

while 判断条件:
    代码块1
代码块2

 

在这里插入图片描述

for-in循环

•方法1:使用range()函数

◾for语句最后有冒号

◾循环中的语句需要缩进

◾range()函数可创建一个整数列表,一般与for循环结合使用

range(start, end, step=1)
range(5): 0,1,2,3,4 没有5
range(1,5):1,2,3,4  没有5
range(1,5,2): 1,3

 

•for 变量名 in range(5)

patients = ["Alice","Bob","Cathy","Eric"]
for index in range(len(patients)):
    print(index,patients[index])
    
结果:
0 Alice
1 Bob
2 Cathy
3 Eric

 

•方法2:使用序列项迭代列表对象

◾直接把序列中的每个元素迭代出来

◾for语句最后要有冒号

◾循环中的语句需要缩进

◾把每个元素代入变量x,然后执行缩进的代码块

for x in sequence
    代码块
    
patients = {"Alice","Bob","Cathy","Eric"}
for patient_name in patients:
    print(patient_name)
        
结果:
Alice
Bob
Cathy
Eric

 

•方法3:使用枚举函数迭代序列对象

for index,x in enumerate(sequence):
    代码块

 

•enumerate()函数将序列对象转换为一个索引序列,并返回序列对象的索引和元素

◾Index为返回的索引计数(从0开始)

◾x为返回的序列元素

patients = ["Alice","Bob","Cathy","Eric"]
for index,patient_name in enumerate(patients):
    print(index,patient_name)

结果:
0 Alice
1 Bob
2 Cathy
3 Eric

 

break&continue

break

•用在while和for循环中

•用于提前退出循环

•通常配合if语句使用

continue

•用于while和for循环

•跳过当前的这次循环,直接开始下一次循环

•通常配合if语句使用

不要滥用break和continue语句

•break和continue会造成代码执行逻辑分叉过多,容易出错

•大多数循环并不需要用到break和continue语句

如果代码写的有问题,会让程序陷入”死循环“,可以使用Ctrl+C退出程序,或者强制结束python进程

最后

今天的分享到这里就结束了,喜欢的记得点赞收藏,下一章见啦!!!!

在这里插入图片描述


推荐阅读
  • 本文介绍了Python对Excel文件的读取方法,包括模块的安装和使用。通过安装xlrd、xlwt、xlutils、pyExcelerator等模块,可以实现对Excel文件的读取和处理。具体的读取方法包括打开excel文件、抓取所有sheet的名称、定位到指定的表单等。本文提供了两种定位表单的方式,并给出了相应的代码示例。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 怎么在PHP项目中实现一个HTTP断点续传功能发布时间:2021-01-1916:26:06来源:亿速云阅读:96作者:Le ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • 基于dlib的人脸68特征点提取(眨眼张嘴检测)python版本
    文章目录引言开发环境和库流程设计张嘴和闭眼的检测引言(1)利用Dlib官方训练好的模型“shape_predictor_68_face_landmarks.dat”进行68个点标定 ... [详细]
  • 十大经典排序算法动图演示+Python实现
    本文介绍了十大经典排序算法的原理、演示和Python实现。排序算法分为内部排序和外部排序,常见的内部排序算法有插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。文章还解释了时间复杂度和稳定性的概念,并提供了相关的名词解释。 ... [详细]
  • C++基础 | 从C到C++快速过渡
    一、开发环境c++使用的编译器是g& ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了[从头学数学]中第101节关于比例的相关问题的研究和修炼过程。主要内容包括[机器小伟]和[工程师阿伟]一起研究比例的相关问题,并给出了一个求比例的函数scale的实现。 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
author-avatar
mobiledu2502906047
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有