计算用户输入的整数列表的平均值,中位数和范围

时间:2016-11-07 00:24:41

标签: python python-3.x

到目前为止,这是我的代码:

print ("Type '0' at any time to end program.")
while True:
    try:
        x=int(input("Enter a positive integer. "))
        while x<0:
            print ("Enter a POSITIVE integer.")
            x=int(input("Enter a positive integer. "))
    except ValueError:
        print ("Invalid character entered. Enter a positive integer.")
    if x==0:
        break

我需要输入输入的整数,并计算它们的平均值,中位数和范围。我该怎么做呢?谢谢!

P.S使用Python 3.

1 个答案:

答案 0 :(得分:1)

首先,您应该将您的号码存储在列表中:

my_numbers = [] # at the start
...
my_numbers.append(x) # when you get a valid x

然后statistics模块提供meanmedian个功能。

对于平均值,您也可以使用sum(my_numbers) / len(my_numbers),但statistics.mean函数针对大型数据集进行了更好的优化,并且只对输入进行一次迭代。

对于范围,您可以使用max(my_numbers) - min(my_numbers)