<p>恭喜你学会了python,它是一门很棒的语言。在</p>
<p>因此,如果你想拥有最大的灵活性,你应该把你的数字保存在一个列表中。在</p>
<p>python中的list的行为类似于一个经典的数组列表(例如在java中),因为它可以通过索引访问,并且可以扩展,并且没有固定的长度。在</p>
<p>因此,使用列表可以将每个数字添加到列表中:</p>
<pre><code>numbers = list()
while(count < numberOfTimes):
numberInput = int(input("Enter the number: "))
numbers.append(numberInput)
count += 1
</code></pre>
<p>由于您现在使用的是可变长度的列表,您还可以使用length(<code>len(mylist)</code>)列表来确定while循环的结束:</p>
^{pr2}$
<p>结合所有这些步骤:</p>
<pre><code>numberOfTimes = int(input("How many numbers do you want to use today? "))
numbers = list()
while(len(numbers) < numberOfTimes):
numberInput = int(input("Enter the number: "))
numbers.append(numberInput)
print( sum(numbers) / len(numbers) )
</code></pre>
<p>我添加了一些功能以使它更简单,例如<code>sum(numbers)</code>是一个内置函数,而不是将列表中的所有整数求和,<code>len(numbers)</code>再次替换计数器。在</p>
<p>执行这样的程序会很快告诉你,你只得到整数作为结果,而不是正确的平均数,这里你需要知道,在python中,将两个整数除以得到的结果往往不是你想要的结果。有一个诀窍,将其中一个数字(或两个数字)转换为浮点数,然后除以:</p>
<pre><code>average = float(sum(numbers)) / len(numbers)
print(average)
</code></pre>
<p>如果您想尝试更多的步骤,例如,根据您输入的内容,跳出while循环,从而摆脱第一个询问数字数量的问题:</p>
<pre><code>print("Write some numbers, I will calculate the average. Finish with 'enter'")
numbers = list()
while(True):
myinput = raw_input("Enter a number: ")
if myinput == '':
break
numberInput = int(myinput)
numbers.append(numberInput)
average = float(sum(numbers)) / len(numbers)
print(average)
</code></pre>
<p>这次的变化是:使用<code>raw_input</code>而不是推荐的<code>input</code>,如果while循环没有到达<code>break</code>,那么它将永远运行,如果您没有给出任何输入,只按enter键,那么计数的初始问题显然丢失了。在</p>