使用Python计算中值和四分位数

时间:2017-09-19 15:15:43

标签: python python-3.x

问题: 山姆是老师。他想给学生们提问。他制作了12行数字(输入)。然后计算数字:平均值(中位数),中位数,四分位数1和四分位数3。 制作一个程序来帮助Sam。所以,Sam可以轻松得到答案。 注意:对于平均值,中位数,四分位数1和四分位数3的公式。 规则:1。输入的数字是整数,而不是实数。 2.输出的结果都是带小数点后两位的实数。 3.从最小到最大输入的数字可以是相同的。 4.不应使用分支,数组或循环。 5.列出程序(代码程序)。

number1= int(input("input point angka1 : "))
number2 = int(input("input point number2 : "))
number3 = int(input("input point number3 : "))
number4 = int(input("input point number4 : "))
number5 = int(input("input point number5 : "))
number6 = int(input("input point number6 : "))
number7 = int(input("input point number7 : "))
number8 = int(input("input point number8 : "))
number9 = int(input("input point number9 : "))
number10 = int(input("input point number10 : "))
number11 = int(input("input point number11 : "))
number12 = int(input("input point number12 : "))
mean = number1+number2+number3+number4+number5+number6+number7+number8+number9+number10+number11+number12+/12

我不知道如何计算四分位数和中位数

1 个答案:

答案 0 :(得分:1)

如果不使用数组,这样做很难(或者只需要很多不必要的代码)......如果允许数组和numpy,这是一个解决方案:

注意:i =用户输入的号码数

import numpy as np
from statistics import median
def calculateStuff4Sam(i):
    numbers = []
    res = {}
    for _ in range(1, i+1):
        numbers.append(int(input("input point number" + i + ": ")))
    numbers = np.array(numbers)
    res['mean'] = "{0:.2f}".format(np.mean(numbers))
    res['median'] = "{0:.2f}".format(np.median(numbers))
    res['25 percentile'] = "{0:.2f}".format(np.percentile(numbers, 25))
    res['50 percentile'] = "{0:.2f}".format(np.percentile(numbers, 50))
    res['75 percentile'] = "{0:.2f}".format(np.percentile(numbers, 75))
    return res

结果以dict()格式返回。如果您只想打印均值:

results = calculateStuff4Sam(12)
print(results['mean'])

您还可以遍历结果的键,例如'中位数',' 25 Percentile',打印出所有计算值。