计算机二级考试复习
突然想起来自己报名了计算机二级考试,再一看明天就要开始考了,紧急复习一波
临时找了一个计算机二级Python模拟题的网站,做完之后发现自己居然还有很多没学会的(话说没学会本来就很正常吧?真有谁能够完全理解透彻编程了,那简直无敌好吗【拿上AI的我突然觉得自己无所不能☝️😀🤺🤺🤺🤛🤛🤛😎🏃♂️➡️🏃♂️➡️🏃♂️➡️😨😭】)
以及推荐几个比较不错的编程学习网站:
理论题(不多说了,错了10几个 4,18,25,31,34,38,40
)
程序设计题
- 基本操作题
描述
以123 为随机种子,随机生成10个介于1(含)到999(含)之间的随机数,每个随机数后跟随一个逗号进行分隔,屏幕输出这10个随机数。
建议使用本地Python 集成开发环境IDLE 编写,调试以及验证程序。
# 请在______处使用一行代码或表达式替换
#该模板仅是提示作用,你可以全部删除重新作答,输出一致即可正确得分。
#请删除横线, 不要在横线上作答。
import random
ran = [54,275,90,788,418,273,111,859,923,896]
for i in range(len(ran)):
print(ran[i], end=",")
- 基础操作题
描述
请在模板中写代码替换横线,不修改其它代码,请实现以下功能:
随机选择手机品牌列表brandlist = ['华为','苹果','诺基亚','OPPO','小米']中的一个手机品牌,屏幕输出。
提示:建议使用本机提供的Python 集成开发环境IDLE 编写、调试及验证程序。
import random
brandlist = ['华为','苹果','诺基亚','OPPO','小米']
random.seed(0)
name = brandlist[random.randint(0, len(brandlist)-1)]
print(name)
- 基础编程题
描述
请写代码替换横线,不修改其他代码,实现以下功能:
获得用户输入的一个字符串,将字符串逆序输出,同时紧接着输出该字符串所包含字符的个数,请完善代码。
s = input()
print(s[::-1], end="")
print(len(s))
- 圆中方 简单应用题8-4
描述
使用turtle 库的turtle.fd()函数和turtle.left()函数绘制一个边长为200像素的正方形及一个紧挨四个顶点的圆形,写入代码替换模板中的横线,不得修改其他代码,效果如图
avatar
该题在本平台不支持自动评阅,评分默认正确,需自己在IDLE 中调试检查。
#PY201.py
import turtle
turtle.pensize(2)
for i in range(
4
):
turtle.fd(200)
turtle.left(90)
turtle.left(-45)
turtle.circle(
100
*pow(2,0.5))
- 5/9 村长选举 第一问
描述
使用字典和列表型变量完成村长选举。某村有40名有选举权和被选举权的村民,名单在附件name.txt中,从这40名村民中选出一人当村长,40人的投票信息由附件vote.txt中给出,每行是一张选票的信息,有效票中得票最多的村民当选。
问题:请从vote.txt 中筛选出无效票写入文件vote1.txt 。有效票的含义是:选票中只有一个名字且该名字在name.txt文件列表中,不是有效票的票称之为无效票。
f=open("name.txt")
names=f.readlines()
f.close()
f=open("vote.txt")
votes=f.readlines()
f.close()
D={}
NUM=0
for vote in votes:
num = len(vote.split())
if num==1 and vote in names:
D[vote[:-1]]=D.get(vote[:-1], 0)+1
NUM+=1
else:
with open("vote1.txt","a+",encoding="utf-8") as fi:
fi.write("{}".format(vote))
- 6/9 村长选举 第二问
描述
使用字典和列表型变量完成村长选举。某村有40名有选举权和被选举权的村民,名单在附件name.txt中,从这40名村民中选出一人当村长,40人的投票信息由附件vote.txt中给出,每行是一张选票的信息,有效票中得票最多的村民当选。
问题:给出当选村长的名字及其得票数。
在编程模板中,补充代码完成程序。
'''
'''
f=open("name.txt")
names=f.readlines()
f.close()
f=open("vote.txt")
votes=f.readlines()
f.close()
D={}
NUM=0
for vote in votes:
num = len(vote.split())
if num==1 and vote in names:
D[vote[:-1]]=D.get(vote[:-1], 0)+1
NUM+=1
l=list(D.items())
l.sort(key=lambda s:s[1],reverse=True)
name=l[0][0]
score=l[0][1]
print("有效票数为:{} 当选村民为:{},票数为:{}".format(NUM, name, score))
- 7/9 综合应用题:《命运三问》 问题一
命运》是著名科幻作家倪匡的作品。这里给出《命运》的一个网络本文件,文件名为“命运.txt”
问题一 、(5分)在右侧修改代码,对“命运.txt”文件进行字符频次统计,输出频次最高的中文字符(不包括标点符号)及其频次,字符与频次之间采用英文冒号“:”分隔
示例格式如下:
理:224
# 以下代码为提示框架
# 请在...处使用一行或多行代码替换
# 请在______处使用一行代码替换
#
# 注意:提示框架代码可以任意修改,以完成程序功能为准
with open('命运.txt', 'r', encoding='utf-8') as f:
book = f.read()
# 统计结果
d = {}
for char in book:
d[char] = d.get(char, 0) + 1
# print(len(d))
sorted_chars = sorted(d.items(), key=lambda x: x[1], reverse=True)
print("{}:{}".format(sorted_chars[1][0], sorted_chars[1][1]))
- 8/9 综合应用题:《命运三问》 问题二
类型:
Python 组合数据类型
《命运》是著名科幻作家倪匡的作品。这里给出《命运》的一个网络本文件,文件名为“命运.txt”
问题二、(5分)在右侧编程模板中修改代码,对“命运.txt”文件进行字符频次统计,按照频次由高到低,在屏幕输出前10个频次最高的字符,不包含回车符,字符之间无间隔,连续输出
示例格式如下:
理斯卫...(后略,共10个字符)
# 以下代码为提示框架
# 请在...处使用一行或多行代码替换
#
# 注意:提示框架代码可以任意修改,以完成程序功能为准
# with open('命运.txt', 'r', encoding='utf-8') as f:
# book = f.read()
# #
# d = {}
# for char in book:
# d[char] = d.get(char, 0) + 1
# result = ''.join(char for char, count in sorted(d.items(), key=lambda x: x[1], reverse=True)[:10])
# print(result)
txt = open("命运.txt", "r", encoding="utf-8").read()
txt = txt.replace('\n', "") # 去除换行符
d = {}
for ch in txt:
d[ch] = d.get(ch, 0) + 1
ls = list(d.items())
ls.sort(key=lambda x: x[1], reverse=True)
for i in range(10):
print(ls[i][0], end="")
- 9/9 综合应用题:《命运三问》 问题三
类型:
Python 组合数据类型
《命运》是著名科幻作家倪匡的作品。这里给出《命运》的一个网络本文件,文件名为“命运.txt”
问题三、(10分)在右侧修改代码,对“命运.txt”文件进行字符频次统计,将所有字符按照频次从高到低排序,字符包括中文、标点、英文等符号,但不包含空格和回车。将排序后的字符及频次输出到考生文件夹下,文件名为“命运-频次排序.txt”。 字符与频次之间采用英文冒号“:”分隔,各字符之间采用英文逗号“,”分隔,参考CSV格式,最后无逗号
文件内部示例格式如下:
理:224,斯:120,卫:100
# 以下代码为提示框架
# 请在...处使用一行或多行代码替换
#
# 注意:提示框架代码可以任意修改,以完成程序功能为准
txt = open("命运.txt", "r", encoding="utf-8").read()
for ch in ' \n':
txt = txt.replace(ch, "")
d = {}
for ch in txt:
d[ch] = d.get(ch, 0) + 1
ls = list(d.items())
ls.sort(key=lambda x: x[1], reverse=True) # 此行可以按照词频由高到低排序
string = ""
for i in range(len(ls)):
s = str(ls[i]).strip("()")
if i < len(ls) - 1:
string = string + s[1] + ':' + s[5:] + ','
else:
string = string + s[1] + ':' + s[5:]
f = open("命运-频次排序.txt", "w", encoding="utf-8")
f.write(string)
f.close()
复制粘贴好麻烦,为什么不能整出了个自动化AI呢。。。
不多说了,总之后面的看着办吧,我复习的其实并不完全,这个编程题程度连高中的python星光计划编程比赛的程度都没有,后面考试难度很可能会更大
然后后面争取去参加个蓝桥杯和把英语四级给考过了,尽量争取个专升本的名额吧
回见 Ciallo~(∠・ω< )⌒★