每周五和周六列表

2024-09-19 23:37:10 发布

您现在位置:Python中文网/ 问答频道 /正文

任务是编写一个函数,返回一周的平均睡眠时间。不包括星期五和星期六。输入是从周一开始的小时列表

def averageSleep(hours):
    fridays = hours[4::-5]
    saturdays = hours[5::-6]
    length = len(hours)
    final = (sum(hours)-sum(fridays)-sum(saturdays)) / (length - 2)
    return final
        



print(averageSleep([6, 7.5, 3.5, 6, 9, 10, 7, 6, 7, 4])) 

我编写的函数返回:

5.875

这是正确的。不包括清单中的第9项和第10项(星期五和星期六)。然而,问题是传递更多的列表项(产生更多的星期五和星期六)会使函数返回错误的结果hours[4::-5]和{}只是在周五和周六不工作

你知道如何从列表中选出所有的星期五和星期六吗


Tags: 函数列表lenreturndef时间lengthfinal
1条回答
网友
1楼 · 发布于 2024-09-19 23:37:10

查找howlist slicing workshours[x:y:z]给出了hours的元素,从第x个索引开始,直到(但不包括)第y个索引,步骤为z个元素。要获得星期五,您需要跳过7个元素,从第4个索引开始,因此需要这样做

fridays = hours[4::7]
saturdays = hours[5::7]

还要注意,您必须将总和除以(len(hours) - len(fridays) - len(saturdays))才能得到正确的平均值

相关问题 更多 >