.index() 在基本 python 编程中的使用
.index() use in basic python programing
我正在学习 Kaggle 上的基础 python 编程,这是一个我不明白答案的问题。
问题
我们正在使用列表来记录参加我们聚会的人以及他们到达的顺序
party_attendees = ['Adela', 'Fleda', 'Owen', 'May', 'Mona', 'Gilbert', 'Ford']
如果客人到达至少一半的派对客人之后,则被视为 'fashionably late'。但是,他们一定不是最后一位客人
回答
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) --> 当调用函数时,我们将 name 作为 Mona 传递,而 arrivals 是与会者列表
order = arrivals.index(name) --> return 这里 Mona 的索引是 '4'
return order >= len(arrivals) / 2 and order != len(arrivals) - 1
Order >= len(arrivals) / 2 --> len() returns 列表的长度和 /2 除以 2,因为时髦的迟到是谁在一半的与会者之后来 7/2
所以它 return 是真的,因为 mona 的指数大于 7/2
order != len(arrivals) - 1 --> 这个条件检查 Mona 是最后一位客人还是不在这里 return true 因为 Mona 不是最后一位客人
and --> 'true and true' return true 所以最终函数 returns true 意味着 Mona 时尚迟到。
party = ['Adela', 'Fleda', 'Owen', 'May', 'Mona', 'Gilbert', 'Ford']
name = 'Mona'
index = party.index(name)
def f(x):
if index >= len(party)/2 and index != len(party)-1:
return True
else:
return False
f(x)
Mona 在列表中的索引为 4。 [0,1,2...]
列表的长度是 7。
索引 4 >= 7/2 并且 4 不是列表中的最后一个(索引 6 是最后一个 7-1)
因此莫娜 return 是正确的。
只有名字 Mona 和 Gilbert 会 return 为 True。
return ((arrivals.index(name)+1)>round(len(arrivals)/2) and arrivals[-1] != name)
我正在学习 Kaggle 上的基础 python 编程,这是一个我不明白答案的问题。
问题
我们正在使用列表来记录参加我们聚会的人以及他们到达的顺序 party_attendees = ['Adela', 'Fleda', 'Owen', 'May', 'Mona', 'Gilbert', 'Ford'] 如果客人到达至少一半的派对客人之后,则被视为 'fashionably late'。但是,他们一定不是最后一位客人
回答
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) --> 当调用函数时,我们将 name 作为 Mona 传递,而 arrivals 是与会者列表
order = arrivals.index(name) --> return 这里 Mona 的索引是 '4'
return order >= len(arrivals) / 2 and order != len(arrivals) - 1
Order >= len(arrivals) / 2 --> len() returns 列表的长度和 /2 除以 2,因为时髦的迟到是谁在一半的与会者之后来 7/2 所以它 return 是真的,因为 mona 的指数大于 7/2
order != len(arrivals) - 1 --> 这个条件检查 Mona 是最后一位客人还是不在这里 return true 因为 Mona 不是最后一位客人
and --> 'true and true' return true 所以最终函数 returns true 意味着 Mona 时尚迟到。
party = ['Adela', 'Fleda', 'Owen', 'May', 'Mona', 'Gilbert', 'Ford']
name = 'Mona'
index = party.index(name)
def f(x):
if index >= len(party)/2 and index != len(party)-1:
return True
else:
return False
f(x)
Mona 在列表中的索引为 4。 [0,1,2...]
列表的长度是 7。
索引 4 >= 7/2 并且 4 不是列表中的最后一个(索引 6 是最后一个 7-1)
因此莫娜 return 是正确的。 只有名字 Mona 和 Gilbert 会 return 为 True。
return ((arrivals.index(name)+1)>round(len(arrivals)/2) and arrivals[-1] != name)