打印一份名单,列出姓名和年龄,并显示他们的平均年龄

2024-05-18 16:16:42 发布

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

所以我需要打印一份名单,上面有姓名和年龄,每一个都在一行,然后显示他们的平均年龄,我需要一些帮助。 到目前为止我得到的是:

namn = ["Lena", 22, "Jonas", 26, "Anna", 27, "Kalle", 23, "Erik", 30, "Josefine", 20, "Emelie", 32, "Johanna", 29,
    "Peter", 19]

Tags: peter姓名年龄名单annaerikjonas平均年龄
3条回答

这也适用于:

pairs = dict([tuple(namn[i:i+2]) for i in range(0, len(namn), 2)])
for name, age in sorted(pairs.items()):
    print("%s: %d" % (name, age))

avg_age = sum(pairs.values())/ len(pairs)
print("Average Age: %f" % (avg_age))

输出:

^{pr2}$

您也可以通过按字母顺序对名称进行排序来扩展此功能。在

你必须先创建一个字典。 这是密码

def name_age(namn):
    dic = {}
    age = 0
    for n in range(0, len(namn), 2):
        dic[namn[n]] = namn[n+1]
    for i in dic:
        print i, dic[i]
        age = age + dic[i]
    avg_age = age / len(dic)
    return avg_age

这应该是有效的:

data = {name: age for name, age in zip(namn[0::2], namn[1::2])}
for name, age in data.iteritems():
    print '%11s: %d' % (name, age)
print 'Average age: %f' % (sum(data.values())/float(len(data)))

相关问题 更多 >

    热门问题