首页 > 解决方案 > 数组的 sum 函数中不支持的操作数类型

问题描述

我是python的初学者,我在这里很困惑为什么sum函数不能添加数组元素这里是下面的代码来自未来

inc = 0
array = []
i=0
while True:
rating=input("Enter your rate between (1 to 5) ")
inc += 1
array.insert(inc,rating)  
length = len(array)
print('total number of rating:',length)
ans = sum(array)
average = ans/length
print('avrage ratiing',round(average, 1))
while i<length:
     print(array)
     break`

请帮忙

这是回溯

标签: python

解决方案


添加整数转换

rating = int(input("Enter your rate between (1 to 5) "))

当您从用户那里获得输入时,您将其作为str.

为了增加这个数字,您可以将其转换为int并且可以应用数学运算。

此外:

您可以添加一个功能,通过以下方式检查用户是否实际插入了数字:

def get_number():
  try:
   return int(input("Enter your rate between (1 to 5) "))
  except ValueError:
   raise ValueError("That's not an integer, please insert an integer")

然后:

rating = get_number()

编辑:

请注意,如果您想获得像“3.7”这样的输入,您应该使用float强制转换。

return float(input("Enter your rate between (1 to 5) "))

推荐阅读