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 相关文章推荐
Django Highcharts制作图表
Aug 27 Python
python装饰器-限制函数调用次数的方法(10s调用一次)
Apr 21 Python
Python生成器定义与简单用法实例分析
Apr 30 Python
Python 实现子类获取父类的类成员方法
Jan 11 Python
搞清楚 Python traceback的具体使用方法
May 13 Python
简单了解Python3里的一些新特性
Jul 13 Python
Pycharm 文件更改目录后,执行路径未更新的解决方法
Jul 19 Python
在pytorch中对非叶节点的变量计算梯度实例
Jan 10 Python
sklearn和keras的数据切分与交叉验证的实例详解
Jun 19 Python
基于Python采集爬取微信公众号历史数据
Nov 27 Python
pandas:get_dummies()与pd.factorize()的用法及区别说明
May 21 Python
只用50行Python代码爬取网络美女高清图片
Jun 02 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操作符与控制结构代码
2011/12/30 PHP
php的dl函数用法实例
2014/11/06 PHP
php实现singleton()单例模式实例
2014/11/06 PHP
PHP读取mssql json数据中文乱码的解决办法
2016/04/11 PHP
PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例
2018/03/31 PHP
动态调用css文件——jquery的应用
2007/02/20 Javascript
将jQuery应用于login页面的问题及解决
2009/10/17 Javascript
Javascript学习笔记 delete运算符
2011/09/13 Javascript
详解JavaScript中undefined与null的区别
2014/03/29 Javascript
JS对img标签进行优化使用onerror显示默认图像
2014/04/24 Javascript
Nodejs学习笔记之测试驱动
2015/04/16 NodeJs
纯javascript制作日历控件
2015/07/17 Javascript
JS组件Bootstrap Table使用方法详解
2016/02/02 Javascript
15个值得开发人员关注的jQuery开发技巧和心得总结【经典收藏】
2016/05/25 Javascript
JS两个数组比较,删除重复值的巧妙方法(推荐)
2016/06/03 Javascript
json对象转为字符串,当做参数传递时加密解密的实现方法
2016/06/29 Javascript
浅谈javascript中的数据类型转换
2016/12/27 Javascript
如何解决vue与传统jquery插件冲突
2017/03/20 Javascript
微信小程序 新建登录页并实现tabBar隐藏
2017/06/13 Javascript
vue 指定组件缓存实例详解
2018/04/01 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变rgba的a值实现)
2019/01/24 Javascript
详解wepy开发小程序踩过的坑(小结)
2019/05/22 Javascript
[43:32]Winstrike vs VGJ.S 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
pandas创建新Dataframe并添加多行的实例
2018/04/08 Python
详解python3中zipfile模块用法
2018/06/18 Python
基于logstash实现日志文件同步elasticsearch
2020/08/06 Python
美国嘻哈文化生活方式品牌:GLD
2018/04/15 全球购物
世界领先的豪华床上用品供应商之一:Bedeck Home
2019/03/18 全球购物
Bose加拿大官方网站:美国知名音响品牌
2019/03/21 全球购物
static函数与普通函数有什么区别
2015/12/25 面试题
计算 s=(x*y)1/2,用两个宏定义来实现
2016/08/11 面试题
秋季婚礼证婚词
2014/01/11 职场文书
幼儿园教研活动方案
2014/01/19 职场文书
社区消防工作实施方案
2014/03/21 职场文书
教师党员个人自我剖析材料
2014/09/29 职场文书
创业计划书之美容店
2019/09/16 职场文书