<p>作为python的新手,我需要创建一个函数,如果超出范围的数字是
输入后,打印一条错误消息并继续请求输入,但如果没有输入任何内容,则必须返回用户输入的所有数字的列表以及这些数字的平均值。在</p>
<pre><code>Example input/output:
myAvg()
Enter an int: 34
Enter an int: 43
Enter an int: 23
Numbers entered: 34 42 23
Average of list: 33
</code></pre>
<p>这是我目前为止的代码,还没有完成到让它返回列表的程度。如果我没搞错的话,我在解析时得到了一个意外的EOF,这是由于eval(input))造成的,但是我不确定如何解决这个问题。在</p>
^{pr2}$
<p>编辑:现在接收值错误:基为10的int()的文本无效:“”
尽量只使用我们在课堂上讲过的东西</p>
<pre><code>def myAvg():
lst = []
while True:
n = input('Enter an int between 10 and 50: ')
if int(n) < 10 or int(n) > 50:
print("Please enter an integer between 10 and 50")
elif n == '':
lst.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(int(n))
return lst
</code></pre>
<p>编辑2:</p>
<pre><code>def myAvg():
lst = []
while True:
n = input("Enter an integer between 10 and 50: ")
if n == '':
print('Numbers entered:')
return lst
else:
ntemp = int(n)
if ntemp < 10 or ntemp > 50:
print("Please enter a value between 10 and 50.")
else:
lst.append(ntemp)
print('Average of numbers:')
return sum(lst) / len(lst)
</code></pre>
<p>输出的内容:</p>
<pre><code>Enter an integer between 10 and 50: 45
Average of numbers:
45.0
</code></pre>
<p>同样,就像凯文说的,不要使用<code>eval</code>。在</p>
<pre><code>def myAvg():
lst = []
while True:
n = raw_input('Enter an int between 10 and 50: ')
if n=="":
print lst
break
if 10<int(n)<50:
lst.append(int(n))
myAvg()
</code></pre>