国家二级Python(综合应用题)模拟试卷1
综合应用题
1.《笑傲江湖》是金庸的重要武侠作品之一。这里给出一个《笑傲江湖》的网络版本,文件名为“笑傲江湖一网络版.txt”。
请编写程序,统计该文件中出现的所有中文字符及标点符号的数量,每个字符及数量之间用冒号:分隔,例如“笑:1024”,将所有字符及数量的对应采用逗号分隔,以CSV文件格式保存到“笑傲江湖一字符统计.txt”文件中。注意,统计字符不包括空格和回车。
笑:1024,傲:2048,江:128,湖:64
(略)
参考程序:
fi=open(’’笑傲江湖一网络版.txt’’,’’r’’,encoding=’utf一8’)
fo=open(’’笑傲江湖一字符统计.txt’’,’’w’’,encoding=’utf一8’)
txt=fi.read()
d={}
for c in txt:
d[c]=d.get(c,0)+1
del d[’’]
del d[’\n’]
ls=[]
for key in d:
ls.append(’’{}:{}’’.format(key,d[key]))
fo.write(’’,’’.join(ls))
fi.close()
fo.close()
解析:
2.文件sweb.html保存了一个网页的源代码,其中,“href=”引导后面会有一个URL链接,例如:href=’’http://news.sina.com.cn/feedback/post.html’’,其中,有一种链接前后都有空格,且双引号内以“http://”开头。
请编写程序,解析这个文件,提取出现符合上述特征的URL链接,每个链接一行,保存导“text—urls.txt”文件中,格式如下:
URL1
URL2
(略)
参考程序:
fi=open(’’sweb.html’’,’’r’’,encoding=’utf一8’)
fo=open(’’text—urls.txt’’,’’w’’,encoding=’utf一8’)
txt=fi.read()
ls=txt.split(’’’’)
urls=[]
for itom in ls:
if item[:5]==’’href=’’and item[6:13]==’’http://’’:
x=item.find(’’>’’,5)
if x==一1:
urls.append(item[6:一1])
else:
urls.append(item[6:x—lencitem)一1])
for item in urls:
fo.write(item+’’、n’’)
fi.clogo()
fo.close()
解析:
3.1949年4月23日,中国人民解放军午夜解放南京,毛泽东同志在清晨获得消息后写下《七律人民解放军占领南京》,全文如下:
七律 人民解放军占领南京
钟山风雨起苍黄,百万雄师过大江。虎踞龙盘今胜昔,天翻地覆慨而慷。宜将剩勇追穷寇,不可沽名学霸王。天若有情天亦老,人间正道是沧桑。
问题1:这是一段由标点符号分隔的文本,请编写程序,以标点符号为分隔,将这段文本转换为诗词风格。要求:每行30个字符,诗词居中,每半句一行,去掉所有标点。输出到文件“七律.txt”。
问题2:编写程序,以每半句为单位,保留标点符号为原顺序及位置,输出全文的翻转形式。
人间正道是沧桑,天若有情天亦老。
(略)
问题1的参考程序:
s=’’钟山风雨起苍黄,百万雄师过大江。\
虎踞龙盘今胜昔,天翻地覆慨而慷。\
宜将剩勇追穷寇,不可沽名学霸王。\
天若有情天亦老,人间正道是沧桑。”
lines=’’’’
for i in range(0,len(s),8):
lines+=s[i:i+7].center(30)+’\n’
print(lines)
fo=open(’’七律.txt’’,’’w’’)
fo.write(lines)
fo.close()
问题2的参考程序:
s=’’钟山风雨起苍黄,百万雄师过大江。\
虎踞龙盘今胜昔,天翻地覆慨而慷。\
宜将剩勇追穷寇,不可沽名学霸王。\
天若有情天亦老,人间正道是沧桑。”
ls=[]
for i in range(0,len(s),8):
ls.append(s[i:i+7])
Is.reverse()
n=0
for item in ls:
n=n+1
if n%2!=0:
print(item,end=’’’’)
else:
print(item,end=’’。\n’’)
解析:
4.用字典和列表型变量完成某课程的考勤记录统计。某班有74名同学,名单由name.txt给出,某课程10次考勤数据由文件1.csv、2.csv、…给出。
请编写程序,按如下格式输出第一次缺勤同学的名字。
第一次缺勤同学有:张三李四王五
参考程序:
#从1.csv文件中读取考勤数据
with open(’’1.csv’’,’’r’’,encoding=’’utf一8’’)as fo:
foR=fo.readlines()
ls=[]
for line in foR:
line=line.replace(’’\n’’,’’’’)
ls.append(line.split(’’,’’))
#从name.txt文件中读取所有同学的名单
with open(’’Name.txt’’,’’r’’,encoding=’’utf一8’’)as foName:
foNameR=foName.readlines()
lsAll=[]
for line in foNameR:
line=line.replace(’’、n’’,’’’’)
lsAll.append(line)
#求出第一次缺勤同学的名单
for l in ls:
if l[0]in lsAll:
lsAll.remove(1[0])
print(’’第一次缺勤同学有:’’,end=’’’’)
for l in lsAll:
print(1,end=’’’’)
解析:
5.软文的诗词风将原有文章根据标点符号重新切分为短语并居中排版,对小屏幕阅读十分有利。使用程序将普通文章变成软文的诗词风十分有趣。
原始诗词风格:
人生得意须尽欢,莫使金樽空对月。
天生我材必有用,千金散尽还复来。
软文风如下:
人生得意须尽欢
莫使金樽空对月
天生我材必有用
千金散尽还复来
请完善如下代码。
#在……上补充一段代码
本文档预览:3600字符,共4307字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载