计算机二级python真题
一、简单应用题
描述
获得用户的非数字输入,如果输入中存在数字,则要求用户重新输入,直至满足条件为止,并输出用户输入字符的个数。
代码:
while True:
s = input("请输入不带数字的文本:")
i=0
for n in s:
if '0'<= n <= '9':
i = i+1
if i==0:
break
print(len(s))
二、综合应用题《三国:曹操 2问》
《三国演义》是中国古典四大名著之一,曹操是其中主要人物,考生文件夹下文件data.txt给出《三国演简介。
本题解答问题1:
请编写程序,用Python语言中文分词第三方库jieba对文件data.txt进行分词,并将结果写入文件out.txt,每行一个词,例如:
内容简介
编辑
整个
故事
在
东汉
……
代码:
import jieba
fi = open('data.txt','r',encoding="utf-8")
txt = fi.read()
fi.close()
words = jieba.lcut(txt)
fo = open('out.txt','w',encoding='utf-8')
for word in words:
if word not in ["\n"]:
fo.write("{}\n".format(word)) #将分词结果存到文件out.txt中
fo.close()
本题解答问题2:
对文件out.txt 进行分析,打印输出曹操出现的次数。
在右侧的代码框里补充代码完成程序,由于out.txt是你回答问题1生成的,应该继续用该文件回答问题2。系统为了让你掌握知识点,系统给出一个正确的out.txt,而正式考试是不会给你的这个文件的,需要用你自己的文件来解答下一问。
代码:
f = open('out.txt', 'r', encoding="utf-8") # 以读的方式打开文件
words = f.readlines()
f.close()
D = {}
for w in words: # 词频统计
D[w[:-1]] = D.get(w[:-1], 0) + 1
print("曹操出现次数为:{} ".format(D["曹操"]))