Python 是否使用Else语句返回名称或文本?
我有一个包含姓名、年龄和性别的Python列表: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
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