Python通用循环的构造方法实例分析


Posted in Python onDecember 19, 2018

本文实例讲述了Python通用循环的构造方法。分享给大家供大家参考,具体如下:

1.交互循环

是无限循环的一种,允许用户通过交互的方式程序的特定部分

def main():
  sum =0.0
  count =0
  moredata ='yes'  #字符串
  while moredata[0] =='y': #获取字符串第一个字符,true执行下面的
    x =eval(input('enter a number>>'))
    sum =sum+x
    count = count +1
    moredata =input("你有更多的number(yes or no)")
  print("pingjunshushi:\n",sum/count)
main()
enter a number >>3
你有更多的number(yesor no)y
enter a number >>4
你有更多的number(yesor no)n
pingjunshushi:
 3.5

2.哨兵循环:

执行循环要遇到设定的特殊数据,循环语句才会终止。

哨兵循环求平均数的方法:

1)设定一个哨兵值作为循环终止的标识;

2)任何值都可以看做哨兵,但是要与实际数有所区别;

python中空字符串以双引号""表示,注意引号中间没有空格!!!

def main():
  sum =0
  count =0
  xStr = input("enter a number")
  while xStr != "":  #空字符串
    x = eval(xStr)  #转换字符串为数字的过成
    sum = sum + x
    count =count +1
    xStr = input("enter a number :")
  print("average is",sum/count)
main()
enter a number6
enter a number :6
enter a number :6
enter a number :  这里确认输入不是哨兵空字符才将输入字符串转换为数字
average is 6.0

eval() 函数参数是字符串可以当成有效python表达式来求值,并返回计算结果

3.文件循环

def main():
  fileName = input("file denumber:") #这个相当于一个文件
  infile = open(fileName,'r') #open(文件名,方式'r'/'w')函数用来打开这个文件的一行保存在infile列表(相当一个数组)中
  sum =0
  count = 0
  for line ininfile:   #循环变量line遍历文件的每一行(文件每一行已经保存在infile列表中),将每一行执行下面的代码
    sum = sum+eval(line)
    count = count +1
  print("aveage is:",sum/count)
main()

循环遍历文件,通常的方法是用哨兵方法一次读取文件的一行

这个可以用来读取excel中的测试用例;

python中采用readline()方法的end-of-file循环模式:

readline()将文件的一行读取到字符串中,在文件尾部readline()返回一个空字符串可以作为哨兵值;

line=infile.readline()
while line != "":
#处理每一行
line =infile.readline()

这段代码会让人误以为遇到一个空行时就会退出,其实不然文本文件的空行包括一个换行符\n  这样readline()函数返回值是换行符,而不是哨兵值空字符串,循环继续

open()  打开文件读取保存到list中

readline()读取文件,每次读取一行

4.死循环

python中可以用python完成特定的功能:

while True:
  try:
    x = int(input("输入一个数字:"))
    break
  except ValueError:
    print("重新输入:")

copy()函数:

返回字典的浅拷贝;

dict1={"name":"liyue"}
dict2=dict1.copy()
print("dict2 is:",str(dict2))

运行结果:

dict2 is: {'name': 'liyue'}

python读取excel:

注意读取时候加上表头,没表头不行,所以测试用例要有表头。

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python设计足球联赛赛程表程序的思路与简单实现示例
Jun 28 Python
python实现八大排序算法(2)
Sep 14 Python
关于Python数据结构中字典的心得
Dec 04 Python
python中利用zfill方法自动给数字前面补0
Apr 10 Python
Python 通配符删除文件的实例
Apr 24 Python
Django网络框架之HelloDjango项目创建教程
Jun 06 Python
Django Rest framework权限的详细用法
Jul 25 Python
django创建超级用户过程解析
Sep 18 Python
使用python+whoosh实现全文检索
Dec 09 Python
keras获得某一层或者某层权重的输出实例
Jan 24 Python
Anaconda+vscode+pytorch环境搭建过程详解
May 25 Python
python利用线程实现多任务
Sep 18 Python
Python实现对字典分别按键(key)和值(value)进行排序的方法分析
Dec 19 #Python
对json字符串与python字符串的不同之处详解
Dec 19 #Python
浅谈Python接口对json串的处理方法
Dec 19 #Python
python实现的MySQL增删改查操作实例小结
Dec 19 #Python
python3 http提交json参数并获取返回值的方法
Dec 19 #Python
python3.6使用urllib完成下载的实例
Dec 19 #Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
Dec 19 #Python
You might like
一个很方便的 XML 类!!原创的噢
2006/10/09 PHP
用Flash图形化数据(一)
2006/10/09 PHP
Laravel validate error处理,ajax,json示例
2019/10/25 PHP
Yii框架组件的事件机制原理与用法分析
2020/04/07 PHP
JScript中的"this"关键字使用方式补充材料
2007/03/08 Javascript
jQuery 遍历json数组的实现代码
2020/09/22 Javascript
jQuery获取对象简单实现方法小结
2014/10/30 Javascript
浅谈JavaScript对象与继承
2016/07/10 Javascript
javascript经典特效分享 手风琴、轮播图、图片滑动
2016/09/14 Javascript
NodeJS实现客户端js加密
2017/01/09 NodeJs
Mac下使用charles遇到的问题以及解决办法
2017/01/10 Javascript
详解node中创建服务进程
2017/05/09 Javascript
Vue服务器渲染Nuxt学习笔记
2018/01/31 Javascript
babel的使用及安装配置教程
2018/02/22 Javascript
vue脚手架搭建过程图解
2018/06/06 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【矩形情况】
2018/12/13 Javascript
Electron + vue 打包桌面操作流程详解
2019/06/24 Javascript
有趣的JavaScript隐式类型转换操作实例分析
2020/05/02 Javascript
antd vue 刷新保留当前页面路由,保留选中菜单,保留menu选中操作
2020/08/06 Javascript
理解JavaScript中的Proxy 与 Reflection API
2020/09/21 Javascript
[01:33:25]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第一场 1月24日
2021/03/11 DOTA
python搭建虚拟环境的步骤详解
2016/09/27 Python
python requests证书问题解决
2019/09/05 Python
Python3 main函数使用sys.argv传入多个参数的实现
2019/12/25 Python
python数据预处理方式 :数据降维
2020/02/24 Python
基于Python绘制个人足迹地图
2020/06/01 Python
CSS3中currentColor关键字的妙用
2016/02/27 HTML / CSS
理肤泉俄罗斯官网:La Roche-Posay俄罗斯
2018/07/24 全球购物
俄罗斯购买剧院和演唱会门票网站:Parter.ru
2019/11/09 全球购物
测试时代收集的软件测试面试题
2013/09/25 面试题
Servlet的实例是在生命周期什么时候创建的?配置servlet最重要的是什么?
2012/05/30 面试题
家长对孩子评语
2014/01/30 职场文书
司机检讨书
2014/02/13 职场文书
生物科学专业毕业生求职信
2014/06/02 职场文书
博士生导师推荐信
2014/07/08 职场文书
Mysql基础知识点汇总
2021/05/26 MySQL