我正在学习Kaggle上的基本python编程,这是一个我不理解其答案的问题。
问题
我们使用列表来记录参加我们聚会的人以及他们到达的顺序 party_attendees = ['Adela','Fleda','Owen','May','Mona','Gilbert','Ford']如果来宾中至少有一半是派对客人,则他们被视为“时尚迟到”。但是,他们不能成为最后一位客人
答案
def fashionably_late(arrivals, name):
order = arrivals.index(name)
return order >= len(arrivals) / 2 and order != len(arrivals) - 1
请您解释一下答案
请每次使用一个示例来了解任何功能的工作原理。
这里我们举一个例子,
[与会者= ['Adela','Fleda','Owen','May','Mona','Gilbert','Ford']名称=莫娜]
我们检查蒙娜丽莎是否时尚到晚
fashionably_late(arrivals,name)->当调用的函数将名称作为Mona传递并且到达是与会者列表时
order =到达.index(name)->它在这里返回蒙娜丽莎的索引是'4'
退货顺序> = len(到达)/ 2,而命令!= len(到达)-1
Order> = len(到达)/ 2-> len()返回列表的长度,并且/ 2被2表示,因为时尚迟到者是这里一半的与会者来了7/2因此,当mona的索引大于7/2时,它将返回true。
order!= len(到达)-1->此条件检查Mona是否是最后一位客人,在这里它返回true,因为Mona不是最后一位客人
和->'true and true'返回true,所以finally函数返回true意味着Mona时时尚晚。