MIQIWEI 发表于 2020-5-19 22:46:07

求list中>=50和<50的平均值,两个数组成一个新list,我写了前面的

定义get_fail_pass_average()函数,该函数将一个整数列表作为参数传递,其中每个整数表示一个满分为100的标记。该函数返回一个Python列表,该列表由所有小于50的分数的平均值组成,后跟所有等于或大于50的标记的平均值(两个平均值均四舍五入到最接近的整数)。如果没有失败标记,则平均失败标记应设置为-1,如果没有通过标记,则平均通过标记应设置为-1

Test1:print(get_fail_pass_average())
result1:

Test2:print(get_fail_pass_average())
result2:[-1, 81]

Test3:print(get_fail_pass_average())
result3:

我的代码:
def get_fail_pass_average(list):
    new_list1=[]
    new_list2=[]
    for num in range(len(list)):
      if list<50:
            new_list1.append(list)
            if len(new_list1)>0:               
                list1_average=round(sum(new_list1)/len(new_list1))
               
            if len(new_list1)==0:
                list1_average=-1
    return list1_average

这上面小于50的数字的平均值,我也知道大于等于50的怎么求 ,换个符号加elif,但是两个合在一起我不太清楚怎么合并,然后组成一个新的list

ouyunfu 发表于 2020-5-19 23:08:50

def get_fail_pass_average(list):
    new_list1=[]
    new_list2=[]
    for num in range(len(list)):
      if list<50:
            new_list1.append(list)
      else:
            new_list2.append(list)
    average=[-1,-1]
    if len(new_list1)>0:               
      average=round(sum(new_list1)/len(new_list1))
    if len(new_list2)>0:
      average=round(sum(new_list2)/len(new_list2))
    return average
print(get_fail_pass_average())
print(get_fail_pass_average())
print(get_fail_pass_average())

MIQIWEI 发表于 2020-5-19 23:14:45

ouyunfu 发表于 2020-5-19 23:08


懂了!!谢谢大佬!!

ouyunfu 发表于 2020-5-20 01:11:12

MIQIWEI 发表于 2020-5-19 23:14
懂了!!谢谢大佬!!

不客气!
页: [1]
查看完整版本: 求list中>=50和<50的平均值,两个数组成一个新list,我写了前面的