如何找到中位数?

时间:2013-08-08 16:23:37

标签: python python-3.x numpy median

我正在尝试创建一个可以获取任意数量的输入并找到中位数的函数。我觉得我这一切都错了,我无法实现这一功能 我需要做什么?

  1. 我列出了
  2. 我向用户询问输入
  3. 我用numpy排序
  4. 我打印中位数
  5. 代码:

    import numpy
    
    numbers = [1,2,3]                
    1 = input("Please type your first number")            
    2 = input("please type your second number")       
    3 = input("please type your third number")       
    median = numpy.median(numbers)            
    print(median) 
    

    我想要完成的任务:

    您希望找到中位数的数字? 1,2,3,4,5,6,7
    中位数是:4

2 个答案:

答案 0 :(得分:4)

您应该将数字存储在列表中,并使用循环向其中添加数字。

import numpy

size = int(input("Enter number of numbers you would like to enter"))
numbers = []
for i in range(size):
    numbers.append(int(input("Please type in number %d" % i)))

median = numpy.median(numbers)  

print(median) 

您的方法失败,因为您尝试使用数字作为变量名称,这是无效的。

答案 1 :(得分:2)

您无法将值分配给1,2或3.此外,您需要将字符串从input转换为int s。尝试一些简单的更改。

import numpy                
input1 = input("Please type your first number")            
input2 = input("Please type your second number")       
input3 = input("Please type your third number")
numbers = map(int, [input1, input2, input3])
median = numpy.median(numbers)            
print(median)