<p>我一直在尝试写一个平均值,中位数,和模式计算器。我有两个问题。1) 如何将用户输入的数字添加到空列表中。如果我只是简单地输入数字,它会给我这个错误:</p>
<pre><code>userNumbers = int(raw_input("Enter the digits here: "))
ValueError: invalid literal for int() with base 10: '2, 4, 6, 8'
</code></pre>
<p>我很想知道如何避免这种情况。
其次,我正在使用Python2.7.10,很快就会转到3.4。我知道在3.4中有一个名为statistics的模块,它带有一个中值函数,但是在2.7.10中不起作用。出于好奇,如果没有函数,我怎么才能找到中值呢。谢谢大家!你知道吗</p>
<pre><code>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()
</code></pre>