9大---

41、在考生文件夹下有个文件PY101.py,在横线处填写代码,完成如下功能。程序接收用户输入的五个数,以逗号分隔。将这些数字按照输入顺序输出,每个数字占10个字符宽度,右对齐,所有数字显示在同一行。例如:
输入:
23,42,543,56,71
输出:
23 42 543 56 71

#
# 在____________上补充代码
# 


num = input().____________
for i in num:
    print(____________)

#
# 在____________上补充代码
# 


num = input().split(',')
for i in num:
    print("{:>10}".format(i),end='')

42、在考生文件夹下有个文件PY102.py,在横线处填写代码,完成如下功能。社会平均工作时间是每天8小时(不区分工作日和休息日),一位计算机科学家接受记者采访时说,他每天工作时间比社会平均工作时间多3小时。如果这位科学家的当下成就值是1,假设每工作1个小时成就值增加0.01%,计算并输出两个结果:这位科学家5年后的成就值,以及达到成就值100所需要的年数。其中,成就值和年数都以整数表示,每年以365天计算。
输出格式示例如下:
5年后的成就值是XXX
XX年后成就值是100

#
# 在____________上补充代码
#


scale = 0.0001  # 成就值增量

def calv(base, day):
    val = base * pow(____________)
    return val

print('5年后的成就值是{}'.format(int(calv(1, 5*365))))
      
year = 1
while calv(1, ____________) < 100:
    year += 1
    
print('{}年后成就值是100'.format(year))


#
# 在____________上补充代码
#
scale = 0.0001  # 成就值增量

def calv(base, day):
    val = base * pow(1+scale,day*11)#(1+0.01%)*(1+0.01%)...//一天11小时
    return val

print('5年后的成就值是{}'.format(int(calv(1, 5*365))))
      
year = 1
while calv(1, 365*year) < 100:
    year += 1
    
print('{}年后成就值是100'.format(year))


43、在考生文件夹下有个文件PY103.py,在横线处填写代码,完成如下功能。程序接收用户输入的一个数字并判断是否为正整数,如果不是正整数,则显示“请输入正整数”并等待用户重新输入,直至输入正整数为止,并显示输出该正整数。例如:
输入:
请输入一个正整数:357
输出:
357

#
# 在____________上补充代码
#


while True:
    try:
        a = eval(input('请输入一个正整数: '))    
        if a > 0 and ____________:
            print(a)
            ____________
        else:
            print("请输入正整数")
    except:
        print("请输入正整数")

#
# 在____________上补充代码
#


while True:
    try:
        a = eval(input('请输入一个正整数: '))    
        if a > 0 and int(a)==a:#type(a) == int
            print(a)
            break
        else:
            print("请输入正整数")
    except:
        print("请输入正整数")

44、在考生文件夹下有个文件PY201.py,在横线处填写代码,完成如下功能。根据列表中保存的数据采用turtle库画图直方图,显示输出在屏幕上,效果如下图所示。
在这里插入图片描述

#
# 在____________上补充代码
# 请不要修改其他代码
#

____________
ls = [69, 292, 33, 131, 61, 254]
X_len = 400
Y_len = 300
x0 = -200
y0 = -100

t.penup()
t.goto(x0, y0)
t.pendown()

t.fd(X_len)
t.fd(-X_len)
t.seth(____________)
t.fd(Y_len)

t.pencolor('red')
t.pensize(5)
for i in range(len(ls)):
    t.____________
    t.goto(x0 + (i+1)*50, ____________)
    t.seth(90)
    t.pendown()
    t.fd(____________)
t.done()


#
# 在____________上补充代码
# 请不要修改其他代码
#
import turtle as t
ls = [69, 292, 33, 131, 61, 254]
X_len = 400
Y_len = 300
x0 = -200
y0 = -100

t.penup() #提起画笔
t.goto(x0, y0)
t.pendown() #放下画笔

t.fd(X_len)
t.fd(-X_len)
t.seth(90)
t.fd(Y_len)

t.pencolor('red')
t.pensize(5)
for i in range(len(ls)):
    t.penup()
    t.goto(x0 + (i+1)*50, y0)
    t.seth(90)
    t.pendown()
    t.fd(ls[i])
t.done()



45、在考生文件夹下有个文件PY202.py,在省略号处填写一行或多行代码,完成如下功能。在已定义好的字典pdict里有一些人名及其电话号码。请用户输入一个人的姓名,在字典中查找该用户的信息,如果找到,生成一个四位数字的验证码,并将名字、电话号码和验证码输出在屏幕上,如示例所示。如果查找不到该用户信息,则显示“对不起,您输入的用户信息不存在。”示例如下:
输入:
Bob
输出:
Bob 234567891 1926
输入:bob
输出:
对不起,您输入的用户信息不存在。

#
# 在......上补充一行或多行代码
# 不得修改其他代码
#

import random
random.seed(2)

pdict= {'Alice':['123456789'],
        'Bob':['234567891'],
        'Lily':['345678912'],
        'Jane':['456789123']}

name = input('请输入一个人名:')
......

#
# 在......上补充一行或多行代码
# 不得修改其他代码
#
import random
random.seed(2)

pdict= {'Alice':['123456789'],
        'Bob':['234567891'],
        'Lily':['345678912'],
        'Jane':['456789123']}
name = input('请输入一个人名:')
if name in pdict:
    a=random.randint(1000,9999)
    print("{} {} {}".format(name,pdict[name][0],a))
else:
    print("对不起,您输入的用户信息不存在")

46、考生文件夹下存在2个Python源文件和2个文本文件。其中,2个python源文件对应2个问题,2个文本文件分别摘自2019年和2018年的政府工作报告。请分别补充2个Python源文件,实现以下功能。
问题1(10分):数据统计。要求:修改PY301-1.py文件中代码,分别统计两个文件中出现次数最多的10词语,作为主题词,要求词语不少于2个字符,打印输出在屏幕上,输出示例如下:(示例词语非答案)
2019:改革:10,企业:9,…(略),深化:2
2018:改革:11,效益:7,…(略),深化:1
注意:输出格式采用英文冒号和英文逗号,标点符号前后无空格,各词语间用逗号分隔,最后一个词语后无逗号。

# 
# 以下代码仅供参考。
# 



d = {}

lt = list(d.items())
lt.sort(key = lambda x:x[1],reverse = True)

# 
# 以下代码仅供参考。
#
import jieba
fa=open('data2019.txt','r')
txt=fa.read()
fa.close()
words=jieba.lcut(txt)
d = {}
for word in words:
    if len(word)==1:
        continue
    else:
        d[word]=d.get(word,0)+1
        
lt = list(d.items())
lt.sort(key = lambda x:x[1],reverse = True)
print("2019:",end='')
for i in range(10):
    word,count=lt[i]
    if i<9:
        print("{}:{}".format(word,count),end=',')
    else:
        print("{}:{}".format(word,count))

fa=open('data2018.txt','r')
txt=fa.read()
fa.close()
words=jieba.lcut(txt)
d = {}
for word in words:
    if len(word)==1:
        continue
    else:
        d[word]=d.get(word,0)+1
        
lt = list(d.items())
lt.sort(key = lambda x:x[1],reverse = True)
print("2018:",end='')
for i in range(10):
    word,count=lt[i]
    if i<9:
        print("{}:{}".format(word,count),end=',')
    else:
        print("{}:{}".format(word,count))

问题2(10分):数据关联。要求:修改PY301-2.py文件中代码,对比两组主题词的差异,输出两组的共有词语和分别的特有词语。输出示例如下:(示例词语非答案)
共有词语:改革,…(略),深化
2019特有:企业,…(略),加强
2018特有:效益,…(略),创新
注意:输出格式采用英文冒号和英文逗号,标点符号前后无空格,各词语间用逗号分隔,最后一个词语后无逗号。

# 
# 以下代码仅供参考。
# 

......

d = {}

......

lt = list(d.items())
lt.sort(key = lambda x:x[1],reverse = True)

......

# 
# 以下代码仅供参考。
# 
import jieba
fa=open('data2019.txt','r')
txt=fa.read()
fa.close()
words=jieba.lcut(txt)
d = {}
for word in words:
    if len(word)==1:
        continue
    else:
        d[word]=d.get(word,0)+1
lt = list(d.items())
lt.sort(key = lambda x:x[1],reverse = True)
da={}
for i in range(10):
    da[i]=lt[i][0]
# da={0: '改革', 1: '发展', 2: '推进', 3: '加强', 4: '创新', 5: '企业', 6: '提高', 7: '实施', 8: '取得', 9: '全面'}
fa=open('data2018.txt','r')
txt=fa.read()
fa.close()
words=jieba.lcut(txt)
d = {}
for word in words:
    if len(word)==1:
        continue
    else:
        d[word]=d.get(word,0)+1
lt = list(d.items())
lt.sort(key = lambda x:x[1],reverse = True)
db={}
for i in range(10):
    db[i]=lt[i][0]
#db={0: '改革', 1: '发展', 2: '加强', 3: '创新', 4: '推进', 5: '制度', 6: '经济', 7: '坚持', 8: '实施', 9: '实现'}
gongyou={}
m=0
for i in range(10):
    for j in range(10):
        if da[i]==db[j]:
            gongyou[m]=da[i]
            da[i],db[j]='',''
            m=m+1
            break
print("共有词语:",end='')
for i in range(m):
    if i<m-1:
        print("{}".format(gongyou[i]),end=',')
    else:
        print("{}".format(gongyou[i]))
print("2019特有:",end='')
j=0
for i in range(10):
    if da[i]!='':
        if j <10-m-1:
            print("{}".format(da[i]),end=",")
        else:
            print("{}".format(da[i]))
        j=j+1
print("2018特有:",end='')
j=0
for i in range(10):
    if db[i]!='':
        if j <10-m-1:
            print("{}".format(db[i]),end=',')
        else:
            print("{}".format(db[i]))
        j=j+1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值