python - 数组的 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`
请帮忙
解决方案
添加整数转换
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) "))
推荐阅读
- python-3.x - 如果已知其他两个值,则从数组中返回一个值 - Python3
- python - 如果用户走错路线,如何使用 FastAPI 提供 404.html 页面?
- c++ - Cpp 在多维向量中交换维度
- python - 我正在尝试将字符串格式的日期更改为python中的日期格式
- java - 项目选择后 JComboBox 不更新
- amazon-web-services - SNS 主题可以成为 EventBridge 的来源吗?
- julia - 为什么 LightGraphs.betweenness_centrality() 运行这么长时间
- ios - UITextView 在调整大小时删除临时空行
- node.js - 为什么我不能在 mongoDB 和 mongoose 中使用 '0' 作为 _id?
- php - 如何在每五次出现另一个字符串后插入字符串?