计算机二级Python历年真题解答(第十二套)

计算机二级Python历年真题解答(第十二套)

写在前面

代码与参考答案不一定相同,但结果一致,真题更新顺序不一定规律

基础操作

1-1

注意eval,代码如下:

s = input("请输入一个小数: ")
s = s[::-1]
cs = 0
for c in s:
    if c == '.':
        break
    cs += eval(c)
print('{:*>8}'.format(cs))

1-2

import time
t = input("请输入一个浮点数时间信息: ")
s = time.ctime(eval(t))  # 易错点
ls = s.split()
print(ls[3].split(':')[0])

1-3

import random

s = input("请输入随机种子: ")
ls = []
for i in range(26):
    ls.append(chr(ord('a')+i))
for i in range(10):
    ls.append(chr(ord('0')+i))

random.seed(eval(s))
for i in range(10):
    for j in range(8):
        print(random.choice(ls), end='')
    print()

简单应用

2-1

import turtle as t
import random as r
r.seed(1)
t.pensize(2)
for i in range(3):
    length = r.randint(20, 80)
    x0 = r.randint(-100, 100)
    y0 = r.randint(-100, 100)

    t.penup()
    t.goto(x0, y0)
    t.pendown()
    for j in range(4):
        t.fd(length)
        t.seth(90*(j+1))
t.done()

2-2

sumtime = 0
percls = []
ts = {}
with open('out.txt', 'r') as f:
    for line in f:
        a = line.strip().split(',')
        sumtime += eval(a[1]) #注意eval
        ts[a[0]] = a[2]
print('the total execute time is ', sumtime)

tns = list(ts.items())
tns.sort(key=lambda x: x[1], reverse=True)
for i in range(3):
    print('the top {} percentage time is {}, spent in "{}" operation'.format(
        i, tns[i][1], tns[i][0]))

综合应用

3-1

f = open("八十天环游地球.txt", encoding="utf-8")
ff = open("八十天环游地球-章节.txt",'w', encoding="utf-8")

for line in f:
    a = line.strip().split()
    if a[0][-1] == '章':
        ff.write('{}\n'.format(line.replace('\n', '')))
f.close()
ff.close()

3-2

注意f.seed()的运用,此外答案偏复杂

import jieba

f = open("八十天环游地球.txt", 'r', encoding="utf-8")

l = []
for line in f:
    line = line.strip().split()
    if line[0][-1] == '章':
        l.append(line[0])

f.seek(0)

ls = f.read().split('作者:儒勒·凡尔纳')

for i in range(len(ls)-1):
    d = {}
    a = jieba.lcut(ls[i])
    for j in a:
        if len(j) >= 2:
            d[j] = d.get(j, 0)+1
    b = list(d.items())
    b.sort(key=lambda x: x[1], reverse=True)
    print('{} {} {}'.format(l[i], b[0][0], b[0][1]))

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值