函数内的小数有问题

时间:2014-10-01 03:07:33

标签: python

我是Python的初学者。我正在为大学学习python。

我正在创建一个使用函数查找均值,中位数和模式的程序。尚未进入模式。

问题:如果代码中存在小数(1.2,1.3,7.423等),则两个函数都无法计算。如果中位数具有小数,则中位数函数将向上舍入数字。

弄清楚如何计算模式也很难。如果有人可以帮助我,那就太棒了。

感谢您提供的任何帮助。这是我第一次在这里发帖。

以下是代码:

#instructions for user
print ("This program is designed to calculate mean, median, and mode.")
print ("I need you to type the numbers you desire to be calculated.")
print ("")
print ("NOTICE: Use the spacebar to separate your numbers.")
print ("")
print ("NOTICE: Press enter to finalize your numbers list.")
print ("")

#creates list of numbers
s = raw_input("Begin typing: ")
numbers = map(int, s.split())

#instructions for user
print ""
print "Type 'mean()' to calculate for mean."
print "Type 'median()' to calcuate for median."
print ""

#creates mean function
def mean():
    print "the mean is: " + str(sum(numbers)/len(numbers))

#creates median function
def median(): 
    print "the median is: " + str(sorted(numbers)[len(numbers)//2])

1 个答案:

答案 0 :(得分:0)

numbers = map(int, s.split())

使用int截断每个数字,向下舍入到最接近的整数。如果要处理小数位,请使用float

numbers = map(float, s.split())