我试过几次,但我不知道我的代码哪里出错了。我已经正确地分配了代码的几个属性,但是我的代码仍然出现语法错误。我打算返回用户生成的列表中的数字量,以及列表中的最低值和最高值,以及它的总和、平均值和中位数。具体地说,当我试图打印最后一行时,我不断地返回错误
def average_ans(numbers):
lowest = None
highest = None
total = 0
numbers = []
while True:
try:
line = input("enter a number or Enter to finish: ")
if not line:
break
count=0
while count<len(numbers):
count+=1
number = int(line)
numbers+=number
i=0
while i<len(numbers):
total=total+numbers[i]
mean=int(total/count)
lowest=min(numbers)
highest=max(numbers)
median=((highest-lowest)/2)+lowest
except ValueError as err:
print(err)
if numbers=="":
print("numbers:", numbers)
print("count =", count)
print("lowest =", lowest)
print("highest =", highest)
print("mean =", mean)
print("median =", median)
不能使用
+=
将数字添加到numbers
列表中(您可以使用它向列表中添加另一个iterable。)而不是
做
除此之外,还有其他一些非Pythonisms我会修复(而且
median
的定义对我来说似乎不确定,但我没有改变它)。我就是这样写的相关问题 更多 >
编程相关推荐