|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
定义get_fail_pass_average()函数,该函数将一个整数列表作为参数传递,其中每个整数表示一个满分为100的标记。该函数返回一个Python列表,该列表由所有小于50的分数的平均值组成,后跟所有等于或大于50的标记的平均值(两个平均值均四舍五入到最接近的整数)。如果没有失败标记,则平均失败标记应设置为-1,如果没有通过标记,则平均通过标记应设置为-1
Test1:print(get_fail_pass_average([63, 65, 33]))
result1:[33, 64]
Test2:print(get_fail_pass_average([63, 62, 100, 100]))
result2:[-1, 81]
Test3:print(get_fail_pass_average([33, 42, 20, 10]))
result3:[26, -1]
我的代码:
def get_fail_pass_average(list):
new_list1=[]
new_list2=[]
for num in range(len(list)):
if list[num]<50:
new_list1.append(list[num])
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
- def get_fail_pass_average(list):
- new_list1=[]
- new_list2=[]
- for num in range(len(list)):
- if list[num]<50:
- new_list1.append(list[num])
- else:
- new_list2.append(list[num])
- average=[-1,-1]
- if len(new_list1)>0:
- average[0]=round(sum(new_list1)/len(new_list1))
- if len(new_list2)>0:
- average[1]=round(sum(new_list2)/len(new_list2))
- return average
- print(get_fail_pass_average([63, 65, 33]))
- print(get_fail_pass_average([63, 62, 100, 100]))
- print(get_fail_pass_average([33, 42, 20, 10]))
复制代码
|
|