发布于2019-08-06 11:09 阅读(3982) 评论(0) 点赞(1) 收藏(3)
打印输出附件文件的平均列数,计算方法如下:
(1)有效行指包含至少一个字符的行,不计算空行;
(2)每行的列数为其有效字符数;
(3)平均列数为有效行的列数平均值,采用四舍五入方式取整数进位。
仅给出输出格式示例,非正确答案。
输入 | 输出 |
---|---|
无 | 6123 |
思路:用rows去累计非空行数,用columns去累计有效字符数(即每行的列数),然后计算columns/rows + 0.5再用int()方法即可实现四舍五入。
# 文本的平均列数
with open('latex.log') as f:
for line in f:
# 判断非空行
if not len(line) ==1 and line[-1] == '\n':
rows += 1
# 去掉最后一个换行符'/n'
columns += len(line) -1
print(int(columns/rows + 0.5))
附件是一个CSV格式文件,提取数据进行如下格式转换:
(1)按行进行倒序排列;
(2)每行数据倒序排列;
(3)使用分号(;)代替逗号(,)分割数据,无空格;
按照上述要求转换后将数据输出。
以下是一个格式示例,不是最终结
输入 | 输出 |
---|---|
(以下内容在文件中) | |
1;2;3 | 9;8;7 |
4;5;6 | 6;5;4 |
7;8;9 | 3;2;1 |
思路:使用replace()或者strip()方法去掉每行最后的回车,再用replace去掉每行中的空格,用split()和join()方法实现字符串和列表的转换。
with open('data.csv', 'r', encoding='utf-8') as f:
lines = f.readlines()
# 按行进行倒序排列
lines.reverse() # 原地转换
# lines = lines[::-1] # 利用切片进行倒序
for line in lines:
# 用分号(;)代替逗号(,)分割数据,无空格
line = line.strip('\n')
# line = line.replace('\n', '')
line = line.replace(' ', '')
# 每行数据倒序排列
t = line.split(',')
t.reverse() # 原地倒序
# t = t[::-1] # 切片倒序
# 输出转换后的数据
print(';'.join(t))
作者:我是女王
链接:https://www.pythonheidong.com/blog/article/8170/0f3bcc02d81741d2acc7/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!