[‘12’," />
计算机二级Python基本排序题 您所在的位置:网站首页 计算机二级python操作题类型分类 计算机二级Python基本排序题

计算机二级Python基本排序题

2024-07-12 05:08| 来源: 网络整理| 查看: 265

1. 文件"singup.txt”中保存了若干条参加运动会学生的报名记录,每条记录的形式为“班级号_学号”,例如"A1_12”,将每个班级报名情按参加运动会人数从多到少排列(假设不存在人数相同的情况)并输出,输出结果如下:

A1->[‘12’,‘05’,‘07’,‘04’] A4->[‘23’,‘03’,‘11’] A3 ->[‘12’,‘01’] A2->[‘07’]

def proc(stu_list): #定义函数 d = {} for item in stu_list: r = item.split("_") #以"_"进行分隔 a, b = r[0], r[1].strip() #提取出班级号和学号的信息 if a in d: d[a] += [b] #"+"号用于组合列表 else: d[a] = [b] lst = sorted(d.items(), key = lambda d:len(d[1]), reverse = True) return lst f = open("signup.txt","r") stu_list = f.readlines() #返回列表类型 result = proc(stu_list) #调用函数 for item in result: print(item[0], '->', item[1]) f.close()

2. 在已定义好的字典pdict里有一些人名及其电话号码。请用户输入一个人的姓名,在字典中查找该用户的信息,如果找到,生成一个四位数字的验证码,并将名字、电话号码和验证码输出在屏幕上,如示例所示。如果查找不到该用户信息,则显示“对不起,您输入的用户信息不存在。”示例如下:

输入: Bob 输出: Bob 234567891 1926 输入: bob 输出: 对不起,您输入的用户信息不存在。

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

pdict[name]返回的是键对应的值,即列表[‘xxx’] pdict[name][0]返回的是列表中的第一个元素,此时返回的是字符串

print()函数的标准格式:print(value1, value2, ..., sep=' ', end='\n', file=sys.stdout, flush=False) value1, value2, … 是要打印的值,可以是任意数量的参数。 sep 是用于分隔多个值的字符串,默认是一个空格。 end 是打印结束时要添加的字符串,默认是换行符 \n。 file 是指定输出的文件对象,默认是标准输出流 sys.stdout。 flush 是一个布尔值,用于指定是否刷新输出缓冲区,默认为 False。 3. 在考生文件夹下有个文件PY202.py,定义了一个6个浮点数的一维列表lt1和一个包含3个数的一维列表lt2。

示例如下: lt1 = [0.69,0.292,0.33,0.131,0.61,0.254] lt2 = [0.1,0.8,0.2] 在横线处填写代码,完成如下功能。计算lt1列表跟lt2列表的向量内积,两个向量X=[x1,x2,x3]和Y= [y1,y2,y3]的内积计算公式如下: k=x1*y1 + x2*y2 + x3*y3 将每次计算的两组对应元素的值、以及对应元素乘积的累计和(k)的值显示在屏幕上,格式如下所示: k=0.069 ,lt2[0]=0.100 ,lt1[0+0]=0.690 k=0.303 ,lt2[1]=0.800 ,lt1[0+1]=0.292 k=0.369 ,lt2[2]=0.200 ,lt1[0+2]=0.330 …(略) 计算方式如下: 第一步计算第一个k,分为3次累加计算: k=lt2[0]*lt1[0+0]; k=lt2[0]*lt1[0+0]+lt2[1]*lt1[0+1]; k=llt2[0]*lt1[0+0]+lt2[1]*lt1[0+1]+lt2[2]*lt1[0+2] 最终得到最后一个k值保存 第二步计算第二个k,分为3次累加计算: k=lt2[0]*lt1[1+0]; k=lt2[0]*lt1[1+0]+lt2[1]*lt1[1+1]; k=llt2[0]*lt1[1+0]+lt2[1]*lt1[1+1]+lt2[2]*lt1[1+2] 最终得到最后一个k值保存,依照此规律依次计算。

img = [0.244, 0.832, 0.903, 0.145, 0.26, 0.452] filter = [0.1,0.8,0.1] res = [] for i in range(len(img) - 2) : k = 0 for j in range(len(filter)) : k += filter[j] * img[j + i] print("k={:.3f} ,filter[{}]={:.3f} ,img[{}{}{}]={:.3f}".format(k, j, filter[j], i, '+', j, img[i + j])) res.append(k) for r in res: print('{:


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有