国家精品在线开放课程“Python语言程序设计”(北理工-嵩天)-第七周文件和数据格式化 练习题
文件字符分布
问题描述:
统计附件文件的小写字母a-z的字符分布,即出现a-z字符的数量,并输出结果。
同时请输出文件一共包含的字符数量。
注意输出格式,各元素之间用英文逗号(,)分隔。
答案可能包含a-z共26个字符的分布,如果某个字符没有出现,则不显示,输出顺序a-z顺序。
自己写的程序:
txt = open("latex.log","r",encoding='utf-8').read()
counts={}
s=0
for letter in txt:if 97 <= ord(letter) <= 122:counts[letter] = counts.get(letter,0)+1s+=1
items = list(counts.items())
items.sort(key=lambda x:x[0], reverse=False)
str1 = ""
for i in range(len(items)):str1+=str(items[i][0])+":"+str(items[i][1])+","
str1=str1.strip(",")
print("共{0}字符,{1}".format(s,str1))
参考别人写的优化过:
txt = open("latex.log","r",encoding='utf-8').read()
counts={}
s=0
for letter in txt:if 97 <= ord(letter) <= 122:counts[letter] = counts.get(letter,0)+1s+=1
print("共{}字符".format(s),end="") #end=""不换行输出
items = list(counts.items())
items.sort(key=lambda x:x[0], reverse=False)
for i in range(len(items)):word ,count = items[i]print(",{}:{}".format(word,count),end="")
注: print后加end""就可以不换行输出
CSV格式列变换
问题描述:
附件是一个CSV文件,请将每行按照列逆序排列后输出,不改变各元素格式(如周围空格布局等)。
正确程序
fo = open("data.csv")
for line in fo:line = line.replace("\n","")line = line.split(",")a=line[::-1] #或者用a.reverse()方法print(",".join(a))
注:
type(fo)
<class '_io.TextIOWrapper'>type(第一行line) # line = line.replace("\n","")
<class 'str'>type(第二行line) #line = line.split(",")
<class 'list'>type(a)
<class 'list'>
文本的平均数
问题描述:
打印输出附件文件的平均列数,计算方法如下:
(1)有效行指包含至少一个字符的行,不计算空行;
(2)每行的列数为其有效字符数;
(3)平均列数为有效行的列数平均值,采用四舍五入方式取整数进位。
正确程序:
f = open("latex.log")
s, c = 0, 0
for line in f:line = line.strip("\n")if line == "":continues += len(line)c += 1
print(round(s/c))
注:每一行中都有换行字符“\n”,先去掉换行字符再判断是否为空行。
CSV格式清洗与转换
问题描述:
附件是一个CSV格式文件,提取数据进行如下格式转换:
(1)按行进行倒序排列;
(2)每行数据倒序排列;
(3)使用分号(;)代替逗号(,)分割数据,无空格;
正确程序:
f = open("data.csv")
ls = f.readlines()
ls = ls[::-1]
lt = []
for item in ls:item = item.strip("\n")item = item.replace(" ", "")lt = item.split(",")lt = lt[::-1]print(";".join(lt))
f.close()
注:使用strip()方法去掉每行最后的回车,使用replace()去掉每行元素两侧的空格
学习过程中存在的问题:1.python中从csv格式的文件中读入数据为什么要去掉换行?replace("\n","")
2.文件打开方式“+”的同时读写功能指的什么?
相关文章参考链接:https://blog.csdn.net/weixin_43108122/article/details/98338993
https://blog.csdn.net/ybxnp/article/details/107830407
国家精品在线开放课程“Python语言程序设计”(北理工-嵩天)-第七周文件和数据格式化 练习题相关推荐
- 国家精品在线开放课程“Python语言程序设计”(北理工-嵩天)-第四周测试题 程序的控制结构
python语言程序设计 第四周测试 程序的控制结构 1 ...
- 国家精品在线开放课程“Python语言程序设计”(北理工-嵩天)-第六周组合数据类型 问题总结
1.增加列表元素的两个方法对比 ls += lt #更新列表ls,将列表lt元素增加到列表ls中 ls.append(x) #在列表ls最后增加一个元素x "+="与"a ...
- 【学习笔记】Python语言程序设计 北理工-嵩天
本文为Python语言程序设计相关内容,希望对你有所帮助.正在更新中- 1.基本数据类型 1.1数据类型及操作 整数类型 浮点数类型 复数类型 数值运算操作符 数值运算函数 小结 1.2实例:天天向上 ...
- (转载)[python学习笔记]Python语言程序设计(北理工 嵩天)
作者:九命猫幺 博客出处:http://www.cnblogs.com/yongestcat/ 欢迎转载,转载请标明出处. 如果你觉得本文还不错,对你的学习带来了些许帮助,请帮忙点击右下角的推荐 阅读 ...
- 【学习笔记】PYTHON语言程序设计(北理工 嵩天)
1 Python基本语法元素 1.1 程序设计基本方法 计算机发展历史上最重要的预测法则 摩尔定律:单位面积集成电路上可容纳晶体管数量约2年翻倍 cpu/gpu.内存.硬盘.电子产品价格等都遵 ...
- 教育部推出首批490门“国家精品在线开放课程”
欢迎关注天下博客:http://blog.genesino.com/2018/01/jingpinke/ 教育部从众多国内外慕课通过筛选评比,推出490门国家精品在线开放课程. 课程内容涉及本科教育的 ...
- 资源 :数据科学类国家精品在线开放课程
前言 2019年1月22日,教育部办公厅公布了第二批国家精品在线开放课程认定结果.本文为您盘点数据科学与大数据专业领域的国家精品在线开放课程,包括2017年第一批认定课程(注:排名不分先后). 1大数 ...
- 国家精品在线开放课程_开放的互联网安全课程
国家精品在线开放课程 应向高中学生提供哪些有关互联网安全的知识? 传统的高中课程遵循了美国儿童互联网保护法 (CIPA)的指导. 由2000年由国会制定并于2011年更新的学生互联网安全培训是美国学校 ...
- 请详细说明如何基于国家精品在线开放课程遴选标准制作一门慕课
答:首先,根据国家精品在线开放课程遴选标准,选择要制作慕课的主题和课程内容:其次,准备慕课的课程资源:再次,根据课程内容,确定慕课的学习目标和学习任务:最后,开发慕课的网络课件,并提供良好的学习环境和 ...
最新文章
- 编译器设计-符号表-中间代码生成
- c语言中将数组设为空,求助~~ 如何把数组变成动态输入的?
- 300英雄服务器维护多久,300英雄7月19日停机更新公告
- 用神经网络分类原子和圆
- python链接hbase模块_HBase实战(1):使用Python连接Hbase数据库
- linux系统将python升级到2.7.10版本
- 数据库杂谈(八)——查询优化
- C# Winform 窗体美化(二、LayeredSkin 界面库)
- Nginx基础和原理介绍
- ASP.NET WebAPI导入EXCEL数据
- Halcon标定系列(3):我个人总结的“眼在手外“和“眼在手上”的心得笔记
- 不定积分/定积分——三角函数n次方不定积分公式(包含sec^nx与csc^nx不定积分公式)
- HTML实现页面跳转
- 向量叉乘的线性性质 几何解释
- Faster R-CNN论文翻译——中英文对照
- Holt_Winters三次平滑指数实现
- 发展心理学类毕业论文文献包含哪些?
- 2021年ABAQUS仿真技术竞赛获奖作品集来啦
- Unity3D-打飞碟小游戏
- 音量控制按钮有小红叉插头已从插孔拔出
热门文章
- CGI与FASTCGI区别
- 3G时代五大手机操作系统
- 统信UOS系统故障维护
- 回头是岸——卡巴斯基张立申致360周鸿祎的一封信
- Jenkins Role-based Authorization Strategy基于角色的访问权限控制
- 扬州和苏州计算机发展前景,江苏未来“最吃香的”城市,GDP仅次于北上广深,淮安、扬州落选...
- heartbleed_Heartbleed:这是什么,您应该怎么做?
- 神经网络学习(二):解常微分方程
- hud抬头显示器哪个好_抬头显示器HUD研究综述
- 计算机中只能启动硬盘上安装的操作系统,开机“找不到启动设备,请在硬盘上安装操作系统,硬盘(3F0),F2 系统检测”怎么解决?...