6大---

41、考生文件夹下存在一个文件PY101.py,请写代码替换横线,不修改其他代码,实现以下功能:
键盘输入正整数n,按要求把n输出到屏幕,格式要求:宽度为14个字符,数字中间对齐,不足部分用=填充。
例如:键盘输入正整数n为1234,屏幕输出=1234=

# 请在______处使用一行代码或表达式替换
#
# 注意:请不要修改其他已给出代码

n = eval(input("请输入正整数:"))
print("{______}".format(n))

# 请在______处使用一行代码或表达式替换
#
# 注意:请不要修改其他已给出代码

n = eval(input("请输入正整数:"))
print("{:=^14}".format(n))

42、考生文件夹下存在一个文件PY102.py,请写代码替换横线,不修改其他代码,实现以下功能:
a和b是两个列表变量,列表a为[3,6,9]已给定,键盘输入列表b,将a列表的三个元素插入到b列表中对应的前三个元素的后面,并显示输出在屏幕上。
例如:键盘输入列表b为[1,2,3],因此,屏幕输出计算结果为[1,3,2,6,3,9]

# 请在______处使用一行代码或表达式替换
#
# 注意:请不要修改其他已给出代码

a = [3,6,9]
b = eval(input()) #例如:[1,2,3]
j=1
for i in range(len(__(1)____)):
    b._____(2)_____
    j+= __(3)______
print(b)

# 请在______处使用一行代码或表达式替换
#
# 注意:请不要修改其他已给出代码

a = [3,6,9]
b = eval(input()) #例如:[1,2,3]
j=1
for i in range(len(b)):
    b.insert(j,a[i]) #若写成j+i,j+=1判错了
    j+= 2
print(b)

43、考生文件夹下存在一个文件PY103.py,请写代码替换横线,不修改其他代码,实现以下功能:
以100为随机数种子,随机生成3个在1(含)到9(含)之间的随机整数,计算这三个随机整数的立方和。

# 请在______处使用一行或多行代码替换
#
# 注意:请不要修改其他已给出代码

import random
____________  # 此处可多行
s = 0  # 
____________  # 此处可多行
print(s)

# 请在______处使用一行或多行代码替换
#
# 注意:请不要修改其他已给出代码

import random
random.seed(100) # 此处可多行

s = 0  # 
for i in range(3): # 此处可多行
    s=s+random.randint(1,9)**3
print(s)

44、使用turtle库的turtle.fd()函数和turtle.seth()函数绘制一个边长为100像素的正五边形,在考生文件夹下给出了程序框架文件PY201.py,在横线处补充代码,不得修改其他代码。效果如下图所示。
在这里插入图片描述

# 请在______处使用一行或多行代码替换
#
# 注意:请不要修改其他已给出代码

import turtle
turtle.pensize(2)
d = 0
for i in range(1, ______(1)________):
    ______(2)________
    d += ______(3)________
    turtle.seth(d)

# 请在______处使用一行或多行代码替换
#
# 注意:请不要修改其他已给出代码

import turtle
turtle.pensize(2)
d = 0
for i in range(1,6):
    turtle.fd(100)
    d += 72
    turtle.seth(d)

45、使用字典和列表型变量完成最有人气的明星的投票数据分析。投票信息由考生文件夹下文件vote.txt给出,一行只有一个明星姓名的投票才是有效票。有效票中得票最多的明星当选最有人气的明星。
问题1:请统计有效票张数。在考生文件夹下给出了程序框架文件PY202-1.py,补充代码完成程序(7分)

# 请在______处使用一行代码或表达式替换
#
# 注意:请不要修改其他已给出代码

f = open("vote.txt")
names = f.readlines()
f.close()
n = 0
for name in _______(1)_________:
    num = _______(2)_________
    if _______(3)________:
        n+=__(4)____
print("有效票{}张".format(n))

# 请在______处使用一行代码或表达式替换
#
# 注意:请不要修改其他已给出代码

f = open("vote.txt")
names = f.readlines()
f.close()
n = 0
for name in names:
    num = len(name.split())
    if num==1:
        n+=1
print("有效票{}张".format(n))

问题2:请给出当选最有人气明星的姓名和票数,在考生文件夹下给出了程序框架文件PY202-2.py,补充代码完成程序(8分)。

# 请在______处使用一行代码或表达式替换
#
# 注意:请不要修改其他已给出代码

f = open("vote.txt")
names = f.readlines()
f.close()
D = {}
for name in _______(1)_________:
    if len(_____(2)______)==1:
        D[name[:-1]]=_______(3)_________ + 1
l = list(D.items())
l.sort(key=lambda s:s[1],_______(4)_________)
name = l[0][0]
score = l[0][1]
print("最具人气明星为:{},票数为:{}".format(name,score))

# 请在______处使用一行代码或表达式替换
#
# 注意:请不要修改其他已给出代码

f = open("vote.txt")
names = f.readlines()
f.close()
D = {}
for name in names:
    if len(name.split())==1:
        D[name[:-1]]=D.get(name[:-1],0) + 1
l = list(D.items())
l.sort(key=lambda s:s[1],reverse=1)
name = l[0][0]
score = l[0][1]
print("最具人气明星为:{},票数为:{}".format(name,score))

46、考生文件夹下的文件data.txt是一个来源于网上的技术信息资料。
问题1:(10分)在考生文件夹下给出了程序框架文件PY301-1.py,补充代码完成程序。用Python语言中文分词第三方库jieba对文件data.txt进行分词,并选择长度大于等于3个字符的关键词,写入文件out1.txt,每行一个关键词,各行的关键词不重复,输出顺序不做要求,例如:
人工智能
科幻小说

# 请在...处使用多行代码替换
#
# 注意:其他已给出代码仅作为提示,可以修改

...  #此处可多行

f = open('out1.txt','w')

... #此处可用多行

f.close()

# 请在...处使用多行代码替换
#
# 注意:其他已给出代码仅作为提示,可以修改

#此处可多行
import jieba
ff=open('data.txt','r')
l=ff.readlines()
f = open('out1.txt','w')
ls=[]
for line in l:
    a=jieba.lcut(line) #无line.strip('\n')
    for j in a:
        if j not in ls and len(j)>=3:
            ls.append(j)#f.write(j+'\n')会使最后一行为换行符,不通过,应该是这样,懒得去验证了,反正答案用的是join方法

#此处可用多行
f.writelines('\n'.join(ls))
f.close()
ff.close()

问题2:(10分)在考生文件夹下给出了程序框架文件PY301-2.py,补充代码完成程序。对文件data.txt进行分词,对长度不少于3个字符的关键词,统计出现的次数,按照出现次数由大到小的顺序输出到文件out2.txt,每行一个关键词及其出现次数,例如:
科学家:2
达特茅斯:1

# 请在...处使用多行代码替换
#
# 注意:其他已给出代码仅作为提示,可以修改

... # 此处可多行

d = {}

... # 此处可多行
ls = list(d.items())
ls.sort(key=lambda x:x[1], reverse=True) # 此行可以按照词频由高到低排序
...  # 此处可多行
``
# 请在...处使用多行代码替换
#
# 注意:其他已给出代码仅作为提示,可以修改
# 此处可多行
import jieba
ff=open('data.txt','r')
f=open('out2.txt','w')
l=ff.readlines()
d = {}
for line in l:
    a=jieba.lcut(line) #无line.strip('\n')
    for j in a:
        if len(j)>=3:
            d[j]=d.get(j,0)+1
ls = list(d.items())
ls.sort(key=lambda x:x[1], reverse=True) # 此行可以按照词频由高到低排序
for i in range(len(ls)):
    f.write("{}:{}\n".format(ls[i][0],ls[i][1]))
ff.close()
f.close()
# 此处可多行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值