我想将float追加到列表中,但是我收到了这样的错误:
<ipython-input-47-08d9c3f8f180> in maxEs()
12 Es = lists[0]*0.3862 + lists[1]*0.3091 + lists[2]*0.4884
13 aaa = []
---> 14 Es.append(aaa)
15
AttributeError: 'float' object has no attribute 'append'
我想我不能将浮动附加到列表中。我可以添加浮动列表以另一种方式列出吗?
这是我的代码:
import math
def maxEs():
for a in range(1, 101):
for b in range(1,101):
for c in range(1,101):
if a+b+c == 100 :
lists = []
lists.append(a*0.01)
lists.append(b*0.01)
lists.append(c*0.01)
Es = lists[0]*0.3862 + lists[1]*0.3091 + lists[2]*0.4884
aaa = []
Es.append(aaa)
答案 0 :(得分:1)
我不知道你想要什么,但是你试图将一个列表附加到浮点数而不是相反。
应该是
aaa.append(Es)
答案 1 :(得分:0)
另一个答案已经解释了代码的主要问题,但还有更多:
aaa.append(Es)
(你为其他清单做得对)aaa
在循环的每次迭代中被重新初始化和覆盖;你可能应该把它移到顶部c
;了解a
和b
后,您可以计算c
以使其满足条件b
的循环,因此结果不会超过100 max
aaa
可能吗?)我们不知道代码究竟想要实现什么,但也许可以试试这个:
def maxEs():
aaa = []
for a in range(1, 98 + 1):
for b in range(1, 99-a + 1):
c = 100 - a - b
Es = 0.01 * (a * 0.3862 + b * 0.3091 + c * 0.4884)
aaa.append(Es)
return max(aaa)