【发布时间】:2021-11-19 08:25:29
【问题描述】:
当我试图执行这个简单的循环时:
list1 = [1.5,2.6,3.9,4.0]
list2 = [3.2,4.5,5.0,5.0]
for i,j in zip(list1, list2):
x = sum(i**2 - 2*j)
print(x)
我希望程序在每个列表中获取每个索引项,遍历整个列表并执行算术运算,然后将整个内容相加并打印总和。例如:
(1.5**2 - 2*3.2) + (3.2^2 - 2*4.5) ...
我收到以下错误:ValueError: 'float' object is not iterable
这是为什么呢?我认为它与循环的格式有关,但我仍然不认为语法对我来说很清楚,不胜感激。
【问题讨论】:
-
您在问题标题中提到了一个错误,在问题正文中提到了另一个错误。您实际询问的是哪个错误?
-
@Someprogrammerdude 对,修好了
-
为什么要将 sum 添加到 (i**2 - 2 * j)
-
这一行出现错误
sum(i**2 - 2*j)。究竟在那里尝试什么?例如,sum(0.438764645)无效。 -
sum(i**2 - 2 * j for i,j in zip(list1, list2))这是你想做的吗?