python大一试题求解

帮助学弟吧大一刚来没怎么认真学python已经麻了python脑子已经烧了

img

img

img

def vector(a, b):
    return [sum(pair) for pair in zip(a, b)]

print(vector([1,2], [3,4]))

from collections import Counter
my_dict = {"张三": 90, "李四": 89, '王武': 76, "马云": 89}
most_common = Counter(my_dict).most_common(3)
for i in most_common:
    print(f"{i[0]}({i[1]})")

是否有用
https://b23.tv/hhv30tt

第一题:

def print_score():
    title= ['s_id', 's_name', 'score1', 'score2', 'score3', 'sum']
    res_list = []
    sum = 0
    #循环输入信息并处理数据
    for i in range(5):
        message= input("请输入学生信息。id: ,姓名: , 科目一: ,科目二: ,科目三:.信息之间请用英文逗号分隔")
        list = message.split(',')
        for i in list[2:5]:
            sum +=int(i)
        list.append(sum)
        res_list.append(list)
    #对成绩从大到小进行排序
    res_list.sort(key=lambda x:x[-1],reverse=True)
    res_list.insert(0,title)
    #打印title信息
    for i in res_list[0]:
        print(i,end='  ')

    for j in res_list[1:]:
        print()
        for w in j:
            print(w,end='     ')

第二题:

def vector_mul(a,b):
    #获取最小的列表长度
    min_len =min(len(a),len(b))
    list = []
    for i in range(min_len):
        res =a[i] * b[i]
        list.append(res)
    return list
a = input("请输入第一组数据:")
b = input("请输入第二组数据:")
print(vector_mul(a,b))

第三题

def max_three(candidates):
    #排序字典,转换成list,根据list截取,在强转成字典
    list_res = sorted(candidates.items(),reverse=True)
    #分片截取前三位数
    return dict(list_res[0:3])
candidates = {'王一':'17','陈二':'23','赵三':'19','吴四':'31','秦五':'9','韩六':'27','付七':'33','朱八':'15','黄九':'37','苏十':'21'}
max_three(candidates)