问题: 山姆是老师。他想给学生们提问。他制作了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
我不知道如何计算四分位数和中位数
答案 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',打印出所有计算值。