python头歌--文件翻转
1. 第一关
编程要求
根据提示,在右侧编辑器补充代码,输出文件“出塞.txt”全部字符。文件路径和文件名为:‘/data/bigfiles/出塞.txt’
测试说明
平台会对你编写的代码进行测试:
测试输入:
无
预期输出:
出塞
王昌龄(唐)
秦时明月汉时关,万里长征人未还。
但使龙城飞将在,不教胡马度阴山。
file = '/data/bigfiles/出塞.txt'
with open(file, mode='r', encoding='utf-8') as f: # 为文件对象命的名放在as后面txt = f.read() # 将文件全部内容读入到字符串txt中
print(txt)
2. 第二关
编程要求
根据提示,在右侧编辑器补充代码,输入一个正整数n,输出“出塞.txt”前n个字符。
测试说明
平台会对你编写的代码进行测试:
测试输入:
3
预期输出:
静夜思
测试输入:
13
预期输出:
静夜思
李白
床前明月光,
file = '/data/bigfiles/出塞.txt'
with open(file, mode='r', encoding='utf-8') as f: # 为文件对象命的名放在as后面txt = f.read(int(input())) # 将文件前个字符读入到字符串txt中
print(txt)
3. 第三关
编程要求
根据提示,在右侧编辑器补充代码,输入一个文件名,用readline()方法逐行读取并输出文件内容,输出时去除每行末的换行符。
测试说明
平台会对你编写的代码进行测试:
测试输入:
静夜思.txt
预期输出:
静夜思
李白
床前明月光,疑是地上霜。
举头望明月,低头思故乡。
file = input()
with open('/data/bigfiles/'+file,'r',encoding = 'utf-8') as poem: # 打开文件创建文件对象,命名为poemwhile txt := poem.readline(): # 逐行读文件,直至文件结束print(txt.strip()) # 去除行末的换行符后输出当前读到的字符
4. 第四关
编程要求
根据提示,在右侧编辑器补充代码,输入一个文件名,将该文件内容转为列表输出。
测试说明
平台会对你编写的代码进行测试:
测试输入:
静夜思.txt
预期输出:
[‘静夜思\n’, ‘李白\n’, ‘床前明月光,疑是地上霜。\n’, ‘举头望明月,低头思故乡。’]
file = input()
with open('/data/bigfiles/'+file, 'r', encoding='utf-8') as poem: # 打开文件创建文件对象,命名为poempoem_ls = poem.readlines() # 读取文件内容到列表
print(poem_ls)
5. 第五关
编程要求
根据提示,在右侧编辑器补充代码,输入一个文件名,先读输出文件的第一行,再将该文件其他内容转为列表输出。
测试说明
平台会对你编写的代码进行测试:
测试输入:
score.csv
预期输出:
姓名,C,Java,Python,C#
[‘罗明,95,96,85,63\n’, ‘朱佳,75,93,66,85\n’, ‘李思,86,76,96,93\n’, ‘郑君,88,98,76,90\n’, ‘王雪,99,96,91,88’]
file = input()
score_ls = [] # 创建一个空列表
with open('/data/bigfiles/'+file, 'r', encoding='utf-8') as fr: # 打开文件创建文件对象,命名为poemfor row in fr: # 遍历文件对象,row为当前行lst = row.strip().split(',') # 当前行切分为一个列表score_ls.append(lst) # 将当前行切分得到的列表附加到score_ls中
#print(score_ls[0])
a = score_ls[0]
b = map(str, a)
c = ','.join(b)
print(c)
print(score_ls[1:]) # 输出二维列表
6. 第六关
编程要求
根据提示,在右侧编辑器补充代码,输入一个3位数字字符表示的诗的序号,从文件“/data/bigfiles/唐诗三百首.txt”中读出指定序号的诗句,再将该诗单独写入到以该诗序号开始的行为文件名的文件中。
测试说明
平台会对你编写的代码进行测试:
测试输入:
237
预期输出:
创建文件:
237刘长卿:送灵澈.txt
文件内容如下:
237刘长卿:送灵澈
苍苍竹林寺,杳杳钟声晚。
荷笠带斜阳,青山独归远。
import re
def get_poem(file):"""读唐诗300首,定位到用户输入的序号的诗,将该首诗读取为一个字符串,返回去除末尾空白字符的字符串"""with open(file, mode='r', encoding='utf-8') as file:content=file.read()pattern2 = str(num) + r'(.+?)\d{3}' # 其余通用匹配pattern3 = str(num) + r'(.+?)$' # 320特殊情况if num != '320':local = re.findall(pattern2, content, re.S)[0] # re.S 匹配换行符 支持多行匹配#print(num+local.split(' \n\n')[0]) # 去除诗末空格和俩换行return (num+local.split(' \n\n')[0]) else:local = re.findall(pattern3, content, re.S)[0]#print(num+local)return (num+local)def write_poem(line):"""参数是包含指定序号诗句的字符串,提取诗的标题行做为要写入的文件名,将全部诗句按顺序写入到文件中,返回诗的标题行"""#print(line)if not line == None:title = line.split(maxsplit=1)[0] # 这里的maxsplit参数是最大拆分数,我们只需要拆分一次with open(title+'.txt', 'w', encoding='utf-8') as f:f.write(line)return(title)def check_file(file):"""参数是新创建的文件名,读取新创建并写入诗句的文件,检查是否写入成功,无返回值"""with open(file, 'r', encoding='utf-8') as fr:print(fr.read()) # 文件读取为一个字符串并输出if __name__ == '__main__':filename = '/data/bigfiles/唐诗三百首.txt' # 源文件路径num = input() # 输入序号poem_str = get_poem(filename) # 读取指定序号的诗为字符串file_title = write_poem(poem_str) # 字符串写入文件,并返回标题check_file(file_title+'.txt') # 查看写入的文件,输出诗的内容
python头歌--文件翻转相关推荐
- Python头歌答案入门基础代码60例
头歌60道题目,代码,输入输出和解析
- 实验一 顺序与选择结构(Python 头歌)
第1关:顺序结构 任务描述 程序最基本的结构就是顺序结构,顺序结构就是程序按照语句顺序,从上到下依次执行各条语句. 本关要求学习者理解顺序结构,并对输入的三个数changeone.changetwo. ...
- 湖南大学python头歌实训-循环语句
文章目录 第二章-Python语言基础-2.3循环(一) 第1关:While循环与break语句 第2关:for循环※ 第3关:for循环与continue语句 第4关:循环嵌套 第5关:迭代器 第二 ...
- 湖南大学python头歌实训-分支语句
文章目录 第二章-Python语言基础-2.2条件分支(一) 第1关:顺序结构 第2关:选择结构:if-else 第3关:选择结构 - 三元操作符 第4关:选择结构-入门实训 第二章-Python语言 ...
- python头歌第1关:评委打分
任务描述 本关任务:编写一个评委打分. 相关知识 为了完成本关任务,你需要掌握:1.文件打开,2.文件读取,3.文件关闭. 编程要求 文件score.txt中存储了歌手大奖赛中10名评委给每个歌手打的 ...
- 湖南大学python头歌实训-函数
文章目录 第二章-Python语言基础-2.5函数(一) 第1关:内置函数的使用 第2关:函数的调用 第3关:函数基础训练 第二章-Python语言基础-2.5函数(二) 第1关:函数的参数使用 第2 ...
- 湖南大学python头歌实训-matplotlib
第1关: 线图的制作 本关任务:寒冷冬天两块不同金属都加热到500度,在空气中放置,温度会不断降低,在接下来的十小时内,现每隔半小时测量一次,测量得到金属块一的温度是500,470,450,400,3 ...
- Python头歌实训之函数
1.定义判断质数的函数 def isprime(a):for i in range(2, a):if a%i == 0:return Falsebreakelse:return True #代码开始 ...
- Python 头歌计算个人所得税
w=eval(input("请输入重量")) #代码开始 import math w=math.ceil(w) if (w<=5): f=12 else: f ...
最新文章
- Google Adsense实用防踢技巧总结
- Ubuntu下常用但是我容易忘记的命令总结(未完待续)
- [ucgui] 对话框7——按钮触发与模式窗口
- luogu 2051 中国象棋
- 利用日志审计追踪APT***
- pure abstract class(什么是纯抽象类?)
- 单片机编程遇到'DATA' SEGMENT TOO LARGE怎么解决?
- 怎样使用My97日期控件
- H3C 802.1X 客户端的安装使用方法
- 367. 有效的完全平方数(二分法)
- AllTray-将办法最小化到琐细托盘
- 知道一点怎么设直线方程_【初中数学】反比例函数策略(二) ——构造方程法...
- JVM如何判断类相同
- android ExpandableListView
- Confluence 6 安全相关问题提交链接
- 服务器虚拟化底层实现原理,虚拟化原理
- 计算机网络应用层和传输层及网络层协议有哪些
- Beamer Introduction
- c语言用while循环输出九九乘法表,用C语言的while循环,打印九九乘法表
- css3 书页卷脚_css3实现的书本立体翻页效果代码实例