Python中的程序流程控制语句


Posted in Python onFebruary 24, 2022

前言:

本篇博客将会讲述一下Python语言中的流程控制语句,在高中我们数学中学过程序流程题,达到一个目的往往需要从开始一步一步往下走,有时顺序执行、有时面临选择、有时面临循环。循环与选择控制着整个流程。看到下面的图片是不是感觉十分熟悉?顺序结构就是从上至下一步步执行,咱就不在这里多说了。直接拿Python语言中的分支语句开涮。

Python中的程序流程控制语句

一、分支语句

在Python中分支语句只有if…elif…else…没有switch…case…,官方认为if…else…已经可以满足需求。分支语句的作用就是进行一下判断,筛选出来符合某种情况的数据,换一种说法就是不同的情况做出不同的事情。

# 单分支结构
if 80>70:
    print('无敌666')
# 多分支结构
s=int(input("请输入您的考试成绩:"))
if 100>=s>=90:
    print("你的成绩无敌了")
    if s>95:
        print('你的成绩至高无上')
    else:
        print('你的成绩一人之下万人之上')
elif 90>s>60:
    print('你的成绩仅仅是合格')
else:
    print('你的成绩不合格,或输入不规范')

# 条件表达式【类似于C++语言中的三目运算符】
print("我是对的" if 90>80 else "我是错的")

# 占位符与对象的布尔值
# 每个对象都有布尔值,所以对象可以直接放到条件语句中,作为判别条件
# python中也是只有0或空为bool中的false
# 占位符就是当你不知道那里写什么,但确实缺少语句处站住位置,编译器不报错 pass
ss=int(input("输入对象:"))
if ss:
    print('yes')
    pass
elif ss>1:
    print('no')
else:
    pass

二、循环语句

1.可迭代对象

在说循环语句之前,先说一下什么是可迭代对象,可迭代对象每次返回一个元素主要包含序列、文件对象、迭代器对象、生成器函数。迭代器是一个对象表示可迭代的数据集合,他的主要特征就是包括方法__iter__()__next__(),可以实现迭代功能。生成器是一个函数,使用yield语句,每次产生一个值。range对象是一个迭代器对象。在Python中循环语句还是分为while与for循环。

2.while循环

while后面是循环条件,在下面的例子中i就是循环变量,当循环变量不满足循环条件时就退出循环,以下例子打印1-100的和:

代码如下:

i=1
mysum=0
while i<=100:
   mysum+=i
   i+=1
#    print(mysum)
print(mysum)

3.for循环

for循环的使用方法如下,一般结合迭代器对象使用。

代码如下:

# for循环计算100-999之间的水仙花数

for temp in range(100,1000):
   if temp==(temp%10)**3+(temp//10%10)**3+(temp//100)**3:
      print(temp)
# 迭代打印语句
for _ in range(5):
   print('Hello World')


# 利用else 实现密码输入错误三次报错,以及输入正确跳出循环

passward=0
for passward in range(3):
   if input('请输入您的密码:')!='888888':
      print('密码输入错误!')
      passward+=1
   else:
      print('密码正确!')
      break
else:
   print('密码多次输入错误,自动退出!')

4.九九乘法表

# 综合案例,嵌套打印99乘法表
for teg in range(1,10):
   temp=1
   while temp<=teg:
      print(str(temp)+'*'+str(teg)+'='+str(teg*temp),end='  ')
      temp+=1
   print()

Python中的程序流程控制语句

三.循环控制语句

1.break

跳出本层循环

2.continue

跳过本次循环

3.goto

内置没有这个语句,但是有的第三方库中含有该语句 比如:python-goto,感兴趣的小伙伴可以用一用。

4.else

这一点还是很独特的,Python的循环语句支持else语句,也就是在循环语句之后可以加一句else语句。else代码块内的代码被执行的条件是循环体没有被break.还以九九乘法表为例:

for teg in range(1,10):
   temp=1
   while temp<=teg:
      print(str(temp)+'*'+str(teg)+'='+str(teg*temp),end='  ')
      temp+=1
   print()
else:
    print("asdholcnnl")

四、循环相关的内置函数

1.enumerate()

这个函数的作用就是为可遍历的序列加上索引,并且索引开始值是我们可以指定的

s=["Tom","jack","lisa"]
for i,name in enumerate(s,start=1):
    print(f"第{i}个人是{name}")

Python中的程序流程控制语句

2.zip()

如果需要并行遍历多个对象,可以使用这个函数进行打包。zip的作用就是将多个可迭代对象打包成一个个元组然后返回一个可迭代对象。如果被压缩的每个可迭代对象长度不同那么按照最短的那个长度合并。利用*运算符还可以将元组解压为列表。[*zip(x,y)] 将x,y打包后再转换为列表形式zip(*zip(x,y)),如果x,y代表一个矩阵,那么zip(*zip(x,y))就是其转置

for i,j in zip(range(0,10),range(0,10)):
    print(i*j)

Python中的程序流程控制语句

3.map()

map函数可以传一个函数与多个可迭代列表,如果map传的函数为None那么map功能与zip函数相同。
如果传的是其余函数,那么函数将作用与每个对象。需要注意的是可迭代对象的数目要与传进去函
数的参数数目保持一致。

#结果1,1,12
list(map(abs,[-1,-1,-12]))
#结果1 1 4
list(map(pow,range(3),range(3)))

五、总结

篇博客主要分享了一下流程控制语句中的分支语句与循环语句,分支语句操作起来比较简单,大家主要掌握一下循环语句,特别是循环语句中的几个内置函数,无论是在写算法题还是数据分析中都很常用。

到此这篇关于Python中的程序流程控制语句的文章就介绍到这了,更多相关Python程序流程控制语句内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python机器学习实战之最近邻kNN分类器
Dec 20 Python
python将每个单词按空格分开并保存到文件中
Mar 19 Python
Python中使用Counter进行字典创建以及key数量统计的方法
Jul 06 Python
对python:循环定义多个变量的实例详解
Jan 20 Python
用python给自己做一款小说阅读器过程详解
Jul 11 Python
使用Python给头像戴上圣诞帽的图像操作过程解析
Sep 20 Python
使用python代码进行身份证号校验的实现示例
Nov 21 Python
在python中实现求输出1-3+5-7+9-......101的和
Apr 02 Python
Pyecharts地图显示不完成问题解决方案
May 11 Python
给keras层命名,并提取中间层输出值,保存到文档的实例
May 23 Python
Python使用内置函数setattr设置对象的属性值
Oct 16 Python
python中对列表的删除和添加方法详解
Feb 24 #Python
通过Python把学姐照片做成拼图游戏
Python帮你解决手机qq微信内存占用太多问题
Feb 15 #Python
python flappy bird小游戏分步实现流程
Python 居然可以在 Excel 中画画你知道吗
Feb 15 #Python
Python 恐龙跑跑小游戏实现流程
详解Python+OpenCV进行基础的图像操作
You might like
PHP 和 MySQL 基础教程(二)
2006/10/09 PHP
php self,$this,const,static,-&amp;gt;的使用
2009/10/22 PHP
php 获取百度的热词数据的代码
2012/02/18 PHP
php对包含html标签的字符串进行截取的函数分享
2014/06/19 PHP
PHP动态页生成静态页的3种常用方法
2014/11/13 PHP
tp5.0框架隐藏index.php入口文件及模块和控制器的方法分析
2020/02/11 PHP
PHP实现抽奖功能实例代码
2020/06/30 PHP
jQuery validate 中文API 附validate.js中文api手册
2010/07/31 Javascript
jQuery 拖动层(在可视区域范围内)
2012/05/24 Javascript
使用iframe window的scroll方法控制iframe页面滚动
2014/03/05 Javascript
node.js应用后台守护进程管理器Forever安装和使用实例
2014/06/01 Javascript
js实现仿网易点击弹出提示同时背景变暗效果
2015/08/13 Javascript
浅谈jQuery 中的事件冒泡和阻止默认行为
2016/05/28 Javascript
nodejs入门教程三:调用内部和外部方法示例
2017/04/24 NodeJs
vue toggle做一个点击切换class(实例讲解)
2018/03/13 Javascript
学习Vue组件实例
2018/04/28 Javascript
解决jquery的ajax调取后端数据成功却渲染失败的问题
2018/08/08 jQuery
详解keep-alive + vuex 让缓存的页面灵活起来
2019/04/19 Javascript
node中IO以及定时器优先级详解
2019/05/10 Javascript
element 中 el-menu 组件的无限极循环思路代码详解
2020/04/26 Javascript
基于JavaScript实现大文件上传后端代码实例
2020/08/18 Javascript
[45:10]NB vs Liquid Supermajor小组赛 A组胜者组决赛 BO3 第二场 6.2
2018/06/04 DOTA
[54:30]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Django框架验证码用法实例分析
2019/05/10 Python
python程序文件扩展名知识点详解
2020/02/27 Python
Python3爬虫中Ajax的用法
2020/07/10 Python
全球酒店预订网站:Hotels.com
2016/08/10 全球购物
英国女性时尚品牌:Apricot
2018/12/04 全球购物
如何估计一张表的大小(假设该表中有1万条数据)
2016/03/27 面试题
汽车检测与维修个人求职信
2013/09/24 职场文书
四风问题自查报告剖析材料
2014/02/08 职场文书
小学班干部竞选演讲稿
2014/04/24 职场文书
小学生志愿者活动方案
2014/08/23 职场文书
保研推荐信格式
2015/03/25 职场文书
家装电话营销开场白
2015/05/29 职场文书
Python3 类型标注支持操作
2021/06/02 Python