【计算机二级python】综合题题目
创始人
2024-06-02 02:10:48
0

计算机二级python真题


文章目录

  • 计算机二级python真题
  • 1、简单应用题《月亮河》
  • 2、综合应用题《学生成绩统计》


在这里插入图片描述


1、简单应用题《月亮河》

描述:在考生文件夹下有个文件PY202.py,请编写代码替换省略号,完成如下功能。让用户输入一首诗的文本,内部包含中文逗号和句号。(1)用jieba库的精确模式对输入文本分词。将分词后的词语输出并以"/"分隔;统计中文词语数并输出;
(2)以逗号和句号将输入文本分隔成单句并输出,每句一行,每行20个字符宽,居中对齐。
在(1)和(2)的输出之间,增加一个空行。
示例如下(其中数据仅用于示意):

输入:
月亮河宽宽的河,一天我从你身旁过,

输出:
月亮/河/宽宽的/河/一天/我/从/你/身旁/过/
中文词语数是:10

月亮河宽宽的河
一天我从你身旁过

代码:

import jieba
text = input("请输入一段中文文本,句子之间以逗号或句号分隔:")
slist = jieba.lcut(text)
number_words = 0for i in slist:if i in ",。":continuenumber_words += 1print(i,end="/")print("\n中文词语数是:{}\n".format(number_words))poetry = ''
for i in text:if i in ',。':print('{: ^20}'.format(poetry))poetry = ''continuepoetry += i

2、综合应用题《学生成绩统计》

描述:data.txt是由学生信息构成的数据文件,每行是一个学生的相关信息,包括姓名、班级和分数。
姓名和其他信息之间用英文冒号隔开,班级和分数之间用英文逗号隔开,班级由“系名+班级序号”组成,如“计算191"。

本题作答第一问

读取data.txt,输出学生的姓名和分数到文件studs.txt,每行一条记录,姓名和分数用英文冒号隔开,
示例如下:
输入输出示例

输入
王一:计算191,340
张二:经济191,450
…(略)

输出
王一:340
李四:450
…(略)

代码:

f_data = open('data.txt', 'r', encoding="utf-8")
f_studs = open('studs.txt', 'w', encoding="utf-8")
student_lst = f_data.readlines()
for student in student_lst:student = student.strip().split(':')name = student[0]score = student[1].split(',')[-1]f_studs.write(name + ':' + score + '\n')
f_data.close()
f_studs.close()

本题作答第二问

选出分数最高的学生,打印输出学生的姓名和分数,中间用英文冒号隔开,示例如下:

李四:450

输入输出示例

输入
王一:计算191,340
张二:经济191,450
…(略)

输出
李四:450

f_data = open('data.txt', 'r', encoding="utf-8")
students_list = f_data.readlines()lt = []for student in students_list:student = student.strip().split(':')name = student[0]score = student[1].split(',')[-1]lt.append([name,score])
lt.sort(key=lambda x:eval(x[1]),reverse = True)
print(lt[0][0]+':'+lt[0][1])
f_data.close()

本题作答第三问

计算每个班级的平均分,打印输出班级和平均分,平均分小数点后保留2位,中间用英文冒号隔开,示例如下:
输入输出示例

输入
王一:计算191,340
张二:经济191,450
…(略)

输出
计算191:447.55
经济191:460.08
……(略)

f_data = open('data.txt', 'r', encoding="utf-8")
students = f_data.readlines()
d = {}for student in students:student = student.strip().split(':')Class, Score = student[1].split(',')d[Class] = d.get(Class, []) + [eval(Score)]for key in d:avg_score = sum(d[key]) / len(d[key])print('{}:{:.2f}'.format(key, avg_score))\f_data.close()

相关内容

热门资讯

又一次,国足输了 7月7日晚,中国男足迎来2025年东亚杯足球赛首场比赛。上半场,他们在13分钟内连丢2球,下半场再丢...
浇灭上海高温的台风啥来头?“丹... 转自:文汇报连“烧”数日的高温终于迎来缓解希望。根据上海中心气象台发布的数据,受今年第4号台风“丹娜...
美股三大股指低开 特斯拉跌超7... (转自:科创100ETF基金)  美股开盘,道指跌0.18%,标普500指数跌0.3%,纳指跌0.4...
纳斯达克中国金龙指数逆势上涨,... 每经AI快讯,7月7日,纳斯达克中国金龙指数逆势上涨,现涨0.8%,最新报7445.4点。
阿里加码外卖大战,美团的“围城... 21世纪经济报道记者 陶力、易佳颖 实习生王野 上海报道  进入7月,猝不及防地,外卖“补贴大战”骤...
一男子在杭州南站坠楼,警方通报...   今天,杭州铁路公安处发布警情通报:2025年7月7日15时30分许,旅客汪某(男,42岁,持当日...
壹连科技(301631.SZ)... 格隆汇7月7日丨壹连科技(301631.SZ)公布,公司为优化公司的资源配置,充分借助专业投资机构在...
“南京红姐”被抓 丁国锋/@法治日报记者从警方相关人士处了解到,网上盛传的南京60岁大叔男扮女装与1691名男性发生亲...
全国腰旗橄榄球讲师双训结课 转自:中国体育报  7月6日,为期3天的2025全国腰旗橄榄球D级教练员培训讲师培训班与二级裁判员培...
苏超赛程过半,三大悬念待解 江苏胜城市足球联赛赛程过半,积分格局已现三大阵营:争冠四强、中游八旅与榜尾孤军常州。十三座城池的绿茵...