import numpy as np
>>> class prof:
... def __init__(self,q,Q):
... self.q,self.Q = q,Q
... def profitmatrix(self):
... q,Q= self.q,self.Q,
... pimat=np.empty([1, Q+1])
... list1=[]
... for z in range(Q+1):
... list1.append(z/(2**(z+1)))
... sum1=sum(list1)+(Q/(2**(Q+1)))
... for i in range(Q+1):
... if i<=q:
... pimat[:,i]=sum1
... else:
... pimat[:,i]=0
... return pimat
...
>>> y= prof(1,2)
>>> print y.profitmatrix()
[[ 0.25 0.25 0. ]]
>>> sum1
0.75
我想给pimat的元素赋值sum1。但是,尽管记住了sum1的值,但一旦程序继续进入循环,它就会改变。我不知道为什么会这样
问题是您正在覆盖循环中sum1的值。这也许是答案,但不清楚你到底想做什么:
@user2357112是正确的,无论您尝试做什么,类范围中的sum1变量与您在脚本末尾访问的变量是不同的
相关问题 更多 >
编程相关推荐