该题目为第一章第七题,计算中位数、众数和平均数。
def median(lyst):
numbers = list()
for number in lyst:
numbers.append(int(number))
numbers.sort()
if len(numbers) == 0:
return 0
else:
midpoint = len(numbers) // 2
if len(numbers) % 2 == 1:
return numbers[midpoint]
else:
return (numbers[midpoint] + numbers[midpoint - 1]) / 2
def mode(lyst):
theDictionary = {}
for number in lyst:
freq = theDictionary.get(number, None)
if freq == None:
theDictionary[number] = 1
else:
theDictionary[number] = freq + 1
if len(theDictionary) == 0:
return 0
else:
theMaximum = max(theDictionary.values())
for key in theDictionary:
if theDictionary[key] == theMaximum:
return key
def mean(lyst):
addnum = 0
for number in lyst:
addnum += float(number)
return addnum/len(lyst)
lyst = input().split()
mediannum = median(lyst)
modenum = mode(lyst)
meannum = mean(lyst)
print("median:%d" %mediannum)
print("mode:%s" %modenum)
print("mean:%.2f" %meannum)