【发布时间】:2016-01-22 10:01:32
【问题描述】:
我一直在尝试编写一个平均值、中位数和众数计算器。我有两个问题。 1)我如何将用户输入的数字添加到空列表中。如果我只是简单地输入数字,它会给我这个错误:
userNumbers = int(raw_input("Enter the digits here: "))
ValueError: invalid literal for int() with base 10: '2, 4, 6, 8'
我很想知道如何避免这种情况。 其次,我使用的是 Python 2.7.10,并且很快就会迁移到 3.4。我知道在 3.4 上有一个名为 statistics 的模块,它有一个中值函数,但是它在 2.7.10 上不起作用。出于好奇,我将如何找到没有该功能的中位数。谢谢大家!
from collections import Counter
def numberPlacement():
print("Welcome to the PyCalculator, please enter a series of digits!")
userNumbers = int(raw_input("Enter the digits here: "))
userNumbers = []
def userChoice():
while True:
print("Awesome, now that we haave your numbers please choose an operation (Mean, Median, or Mode!)")
userAnswer = raw_input("Enter your choice here: ")
if userAnswer == "Mean":
mean = sum(userNumbers) / float(len(userNumbers))
return mean
elif userAnswer == "Mode":
mode = Counter(userNumbers)
return mode
continue
print numberPlacement()
print userChoice()
【问题讨论】: