我使用for循环将方法的结果再次传递给方法,并在两个列表上完成修改。
def loop(a, b)
#modification on a, b
return a, b
a = [1, 1, 1]
b = [2, 2, 2]
for i in np.arange(100):
a, b = loop(a, b)
在我遇到此问题的代码中,我在循环方法中定义了另一种方法:
def loop(a, b, c): # a = cash i own; b = shares i own; c=price
buying = a[0]*0.1/c[-1] #number of shares I will spend
a.append(a[-1])
b.append(b[-1])
if c[-1]/c[-2] > 1.01, order(a, b, c)
def order(a, b, c):
a[-1] = a[-2] - buying*c[-1]
b[-1] = b[-2] + buying
return
return a, b
for i in np.arange(100):
a, b = loop(a, b, c)
我想将现金和股票信息存储在a,b列表中。如果不满足购买条件,则添加到列表中的新元素应该是最后一个元素。如果满足购买条件,那么刚刚添加到列表中的元素将被更改。但是,当我运行代码时,在某个时刻新元素添加了a,b将不是列表中的最后一个,而是最初的那个,这会破坏整个事物。
答案 0 :(得分:0)
订单功能的最后一行。 如果您只使用“返回”,Python会使用最后返回的值,而不是新值。所以,如果删除该行,我认为它工作正常!
此处未解释任何回复:None return in Python