Python 是否使用Else语句返回名称或文本?

Python 是否使用Else语句返回名称或文本?,python,list,if-statement,tuples,average,Python,List,If Statement,Tuples,Average,我有一个包含姓名、年龄和性别的Python列表: people = [('John', 36, 'M'), ('Rachel', 24, 'F'), ('Deardrie', 78, 'F'), ('Ahmed', 17, 'M'), ('Sienna', 14, 'F')] 我已经写了一些代码,可以追溯所有男性的平均年龄(“M”): 这将返回预期结果: average_age(people, 'M') 26.5 但是,如果我要编写average_age(people,'Z')我希望它返回r

我有一个包含姓名、年龄和性别的Python列表:

people = [('John', 36, 'M'), ('Rachel', 24, 'F'), ('Deardrie', 78, 'F'), ('Ahmed', 17, 'M'), ('Sienna', 14, 'F')]
我已经写了一些代码,可以追溯所有男性的平均年龄(“M”):

这将返回预期结果:

average_age(people, 'M')
26.5
但是,如果我要编写
average_age(people,'Z')
我希望它返回result语句以返回
“找不到匹配项”。
此时,它仍然返回26.5

我曾尝试在代码中添加一个else语句,但似乎没有任何效果

任何帮助都将不胜感激


谢谢

您需要在函数中使用if语句,以确保传递给函数的性别为“M”或“F”


非常感谢-我甚至没有想到添加F!此外,您的代码完全忽略传入的性别参数,并始终查找带有“M”的条目。您需要在sum函数中使用
性别
,而不是
“M”
average_age(people, 'M')
26.5
def average_age(members,gender):
    if gender not in ["F","M"]:
      return 'No matches found.'
    else:
     return sum([member[1] for member in people if member[2] == gender])/2