考生文件夹下存在两个Python源文件“PY301-1.py”和“PY301-2.py”,分别对应两个问题,请按照文件内说明修改代码,实现以下功能。 李白,字太白,号青莲居士,又号“谪仙人”,是唐代伟大的浪漫主义诗人,被后世誉为“诗仙”。考生文件夹下有一个

admin2021-03-16  40

问题 考生文件夹下存在两个Python源文件“PY301-1.py”和“PY301-2.py”,分别对应两个问题,请按照文件内说明修改代码,实现以下功能。
李白,字太白,号青莲居士,又号“谪仙人”,是唐代伟大的浪漫主义诗人,被后世誉为“诗仙”。考生文件夹下有一个“关山月.txt”文件,内容如下。
明月出天山,苍茫云海间。长风几万里,吹度玉门关。汉下白登道,胡窥青海湾。由来征战地,不见有人还。戍客望边邑,思归多苦颜。高楼当此夜,叹息未应闲。
问题1:这是一段由标点符号分隔的文本,请编写程序,以“。”句号为分隔,将这段文本转换为诗词风格,输出到文件“关山月-诗歌.txt”中。
试题程序:
#以下代码为提示框架
#请在…处使用一行或多行代码替换
#注意:提示框架的代码可以任意修改,以完成程序功能为准
fi=open("关山月.txt","r")

fi.close()
fo.close()
问题2:把问题1生成的“关山月-诗歌.txt”文件,以每行为单位,保留标点符号为原顺序和位置,输出全文的反转形式。将文件保存在考生文件夹下并命名为“关山月-反转.txt”。输出的形式如下。
高楼当此夜,叹息未应闲。
戍客望边邑,思归多苦颜。
由来征战地,不见有人还。
汉下白登道,胡窥青海湾。
长风几万里,吹度玉门关。
明月出天山,苍茫云海间。
试题程序:
#以下代码为提示框架
#请在…处使用一行或多行代码替换
#注意:提示框架的代码可以任意修改,以完成程序功能为准
fi=open("关山月-诗歌.txt","r")
fo=open("关山月-反转.txt","w")

fi.close()
fo.close()

选项

答案(1)fi=open("关山月.txt","r") fi=open("关山月-诗歌.txt","w") txt=fi.read() ls=write("。\n".join(ls)) fi.close() fo.close() (2)fi=open("关山月-诗歌.txt","r") fo=open("关山月-反转.txt","w") txt=fi.readlines() txt.reverse() for row in txt: fo.write(now) fi.close() fo.close()

解析 (1)题目给出的文件内容是一段文本,要把文本改为诗词风格,即以全角句号分隔,可使用字符串的split()方法,该方法返回的是—个列表;列表的每个元素都是一行诗句。使用join()方法把列表的每一个元素写入“关山月-诗歌.txt”文件中,连接符为全角句号和换行符;操作完成之后将打开的文件用close()方法关闭,避免内容的丢失。
(2)把“问题1”生成的诗词风格的文件按照每行为单位将其逆序输出,须使用列表的reverse()方法,即需要把文件的内容转换为列表类型,readlines()方法从文件中读入所有行的内容,以每行为元素形成一个列表,然后调用reverse()方法反转,将反转后的内容写入“关山月-反转.txt”文件中。操作完成之后将打开的文件用close()方法关闭,避免内容的丢失。
转载请注明原文地址:https://kaotiyun.com/show/y06p777K
0

最新回复(0)