在我的 for 循环中,当 if 语句都为 true 时,它会执行预期的操作,然后结束并且不会继续执行整个循环。我尝试在柜台买入和卖出后使用 continue
语句。它在存储变量的总和时起作用,但随后我在返回变量上收到一个错误,显示内置模块的 NoneType 对象。
如果我省略 continue 语句,它只会存储与 if 语句匹配的第一个价格,但它会中断并停止对与这些语句匹配的其他价格进行求和。
我知道问题是在添加计数器后它从 for 循环中中断,也许返回值缩进得很严重?
buy = 0
sell = 0
def checking(x,y):
for i in range (17):
if x[i]>x[i-1]:
if y[i] >y[i-1]:
global buy, sell
buy += y[i]
try:
sell +=y[i+1]
except:
sell +=y[i]
continue
return sell-buy
gains = checking(volume,close)
gains
我需要创建一个读取 2 个数据帧的函数,一个是股票的交易量,另一个是收盘价。我希望该函数检查今天的成交量是否大于昨天的成交量,如果是,则进入另一个 if 语句,询问今天的收盘价是否大于昨天的收盘价。如果这也成立,那么它将在“买入”变量中存储并汇总这些天的价格,并将 [i+1] 之后一天的价格存储在“卖出”变量中并对其求和。最后它返回两者之间的差异。
最佳答案
你是对的,返回语句的缩进不正确。这是固定代码:
buy = 0
sell = 0
def checking(x,y):
for i in range (17):
if x[i]>x[i-1]:
if y[i] >y[i-1]:
global buy, sell
buy += y[i]
try:
sell +=y[i+1]
except:
sell +=y[i]
return sell-buy
gains = checking(volume,close)
关于python - 如何防止for循环停止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55368508/