从整数列表中添加并计算平均值



嗨,我正在创建一个函数,从用户输入的整数列表中计算平均值。我得到一个错误:

ValueError: null literal for int() with base 10:

下面是我的代码:
def calcmean (mylist):
listsum= 0
for index in mylist:
listsum = listsum + index
mean= listsum / len(mylist)
return mean
userinput= [int(input("Enter list separated by commas:"))]
print (mean (userinput))

应该可以:

userinput = [int(x) for x in input("Enter list separated by commas:n").split(', ')]

如何确保用户输入的数字完全正确?如果用户输入two/three/four/…连续逗号,如1,2,3,,4,,,,5?应该处理得比这多得多。为了清楚起见,您应该将您的程序划分为3个阶段,包括:

  • Input
  • Process the input
  • Calculate mean.

示例如下:

输入>
userinput = input("Please type number separated by commas")

处理输入

# split numbers to items by commas. 
num_array = userinput.split(",")
# chose items that are valid numbers 
def is_number(s):
try:
float(s)
return True
except ValueError:
return False 
num_array = [int(item) for item in num_array if is_number(item)]

计算意味着

正如你在代码中所做的

print(mean(num_array))

最新更新