Python作业,求解答

 

import numpy as np
testdata = {'01': [67,88,45], '02':[97,68,85], '03':[97,98,95]}

res = []
count = 0
for (key,val) in testdata.items():
    for item in val:
        if item > 85:
            count +=1
    if count == 3:
        res.append(key)
    count = 0

输出:
# res = ['03]

第一题,有用麻烦给个采纳,谢谢

import numpy as np
testdata = {'01': [67,88,45], '02':[97,68,85], '03':[97,98,95]}

res = []
mean_score = 0
sum_score = 0
for (key,val) in testdata.items():
    for item in val:
        sum_score = sum_score + item
        mean_score = sum_score / len(val)
    
    print(key,(mean_score,sum_score))




输出:

01 (66.66666666666667, 200)
02 (150.0, 450)
03 (246.66666666666666, 740)

第二题,记得给采纳

import numpy as np
testdata = {'01': [67,88,45], '02':[97,68,85], '03':[97,98,95]}

res = []
key_list = []
sum_score = 0
for (key,val) in testdata.items():
    for item in val:
        sum_score = sum_score + item
    key_list.append(key)
    res.append(sum_score)

    sum_score = 0
dic = dict(zip(key_list, res))
        

sorted(dic.items(), key=lambda item:item[1])



输出:
[('01', 200), ('02', 250), ('03', 290)]

第三题,答题不易,希望可以给个采纳

# f3 = f2 + f1 + f0
# f4 = f3 + f2 + f1

# f20 = f19 + f18 + f17

def count(num):
    if num <= 3:
        v = 1
        # print(v)
        return v
    v = count(num-1) + count(num-2) + count(num-3)
    # print(v)
    return v

for i in range(1,21):
    print(count(i))


输出:

# f3 = f2 + f1 + f0...
1
1
1
3
5
9
17
31
57
105
193
355
653
1201
2209
4063
7473
13745
25281
46499

第五题