当前位置:首页 » 《关注互联网》 » 正文

【计算机二级Python】综合题目

28 人参与  2024年03月25日 17:10  分类 : 《关注互联网》  评论

点击全文阅读


计算机二级python真题


文章目录

计算机二级python真题一、简单应用题 1二、简单应用题 2三、综合应用题 1四、综合应用题2


在这里插入图片描述


一、简单应用题 1

五个彩色圈圈

请参考编程,编写代码替换横线内容,不得修改其他代码,实现下面功能。

(1)使用turtle库和random库,在屏幕上绘制5个彩色的圆;

(2)圆的颜色随机从颜色列表color中获取;

(3)圆的圆心坐标x和y值从范围[-100, 100]之间选取,半径从范围[10,30]之间选取。效果如下图所示。
在这里插入图片描述

代码:

import turtle as timport random as rcolor = ['red','green','blue','purple','black']r.seed(1)for j in range(5):    t.pencolor(color[r.randint(0,4)])    t.penup()    t.goto(r.randint(-100,100),r.randint(-100,100))    t. pendown()    t.circle(r.randint(10,30))t.done()

二、简单应用题 2

中文分词

请编写代码替换省略号,可修改其他代码,实现下面功能:

(1)获取用户输入的一段文本,包含但不限于中文字符、中文标点符号及其他字符;

(2)用jieba的精确模式分词,统计分词后中文词语词频,具体为:将字符长度大于等于2的词语及其词频写入文件data. txt,每行-一个词语,词语和词频之间用中文冒号分隔。

示例如下(其中数据仅用于示意):

输入:
借助平台优势,宣传推广相应产品,并为技术从业者提供更多学习、交流、探讨的机会,从而促进技术交流、企业互通、人才培养,促进技术的发展。

输出:

借助:1
平台:1
优势:1
宣传:1
推广:1
相应:1
产品:1
技术:3
从业者:1
提供:1
学习:1
交流:2
探讨:1
机会:1
从而:1
促进:2
企业:1
互通:1
人才培养:1
发展:1
…(略)

代码:

import jiebas = input("请输入一个中文字符串,包含逗号和句号:")       #请输入一个中文字符串,包含逗号和句号:k = jieba.lcut(s)   #使用jieba库的精确分词模式dict1 = {}          #定义空字典dict1    for i in k:         #构建词与词频键值对存放在字典dict1中    dict1[i] = dict1.get(i, 0) + 1      #字典的get函数with open('data.txt', 'w') as f:        #使用with语句处理文件时,无论是否抛出异常,都能保证with语句执行完毕后关闭已经打开的文件    list1 = []                          for k,v in dict1.items():            #筛选键值字符串长度大于等于2的键值对存放到list1列表中         if len(k)>=2:            list1.append(k + ':' + str(v))    for item in list1:                         #将列表元素逐行写入data.txt文件        f.write(item +'\n')                   #'\n'表示换行

三、综合应用题 1

价值链

附件中有素材文件 data3.txt,文件内容示例如下:

商业模式价值链由三个环节组成产品、工具、社区。我们团队以一站式系统开发为当前主要产品,利用XAMPP,PHPSTORM,微信开发者工具等软件根据客户要求提供合适的一体化管理系统。

… (略)

请编程实现如下功能:

(1)统计文件中出现词频最多的前10个长度不小于2个字符的词语,将词语及其出现的词频数按照词频数递减排序后显示在屏幕上,每行显示一个词语,用英文冒号连接词语及其词频。

示例如下:

我们:5
系统:3
微信:3
……(略)

代码:

import jiebadict_words = {}with open('data3.txt', 'r', encoding='GBK') as f:    lines = f.read().split("\n")for line in lines:    words = jieba.lcut(line)    for word in words:        if len(word)>=2:            dict_words[word] = dict_words.get(word,0)+1ls = list(dict_words.items())ls.sort(key=lambda x:x[1], reverse = True)for i in range(10):        print("{}:{}".format(ls[i][0],ls[i][1]))

代码:

import jiebadict_words = {}with open('data3.txt', 'r', encoding='GBK') as f:    k = jieba.cut(f.read())for i in k:    if len(i) >= 2:        dict_words[i] = dict_words.get(i, 0) + 1data = sorted(dict_words.items(), key=lambda x:x[1], reverse=True)print(''.join([k + ':' + str(v) +'\n' for k, v in data[:10]]))

四、综合应用题2

价值链

编程实现如下功能:

(2)将文档以中文逗号及中文句号为分隔符分割成短句,将包含最高词频的词语的句子,输出到文件out. txt中,每句一行,示例如下:

以此为我们吸引更多的商机
同时普及我们的一站式开发技术
…(略)

代码:

import jiebaimport redict_words = {}with open('data3.txt', 'r', encoding='GBK') as f:    senses =  re.sub('([,。\n])', '|' , f.read())k = jieba.cut(senses)for i in k:    if len(i) >= 2:        dict_words[i] = dict_words.get(i, 0) + 1data = sorted(dict_words.items(), key=lambda x:x[1], reverse=True)with open('out.txt', 'w') as f:    for sense in senses.split('|'):        if data[0][0] in sense:            f.write(sense+ '\n')

Python re模块:https://www.cnblogs.com/shenjianping/p/11647473.html

在这里插入图片描述


点击全文阅读


本文链接:http://zhangshiyu.com/post/85437.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1