如何将用户输入的姓名和年龄列表排序为平均年龄、最高年龄和最低年龄以及相应的姓名?

2024-04-26 14:04:56 发布

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

编写一个程序,提示用户输入一系列的姓名和年龄。(使用假名字End标记值序列的结尾。)输入值后,打印平均年龄以及年龄最高和最低的人的姓氏和年龄。你知道吗

我有代码,将产生一个平均,最老,最年轻的年龄,但没有相应的名称。我不知道如何让它从用户输入工作。我正在使用最新版本的Python和IDE PyCharm。你知道吗

#name = input("Enter a series of names with corresponding ages:")

name = ["john", 25, "james", 32, "tanner", 62, "laura", 41, "christine", 21]
pairs = dict([tuple(name[i:i+2]) for i in range(0, len(name), 2)])

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

high_age = max(pairs.values())
print("Highest Age: %f" % (high_age))

low_age = min(pairs.values())
print("Lowest Age of: %f" % (low_age))

Tags: of用户name程序agelenlowavg
1条回答
网友
1楼 · 发布于 2024-04-26 14:04:56

如果您使用的是Python3,那么可以使用dict上的^{}方法

#name = input("Enter a series of names with corresponding ages:")

import numpy as np

name = ["john", 25, "james", 32, "tanner", 62, "laura", 41, "christine", 21]
pairs = dict([tuple(name[i:i+2]) for i in range(0, len(name), 2)])

avg_age = np.mean(pairs.values())
print("Average Age: %.2f" % (avg_age))

high_age = max(pairs.items())
print("Highest Age: %i" % (high_age[1]) + " and their name is " + high_age[0])

low_age = min(pairs.items())
print("Lowest Age: %i" % (low_age[1]) + " and their name is " + low_age[0])

结果:

Average Age: 36.20
Highest Age: 62 and their name is tanner
Lowest Age: 21 and their name is christine

如果您使用的是python2,那么这个问题可能会引起您的一些兴趣:What is the difference between dict.items() and dict.iteritems()?尤其是第一个答案(已接受的答案)

相关问题 更多 >