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()
# 此处可多行