为了账号安全,请及时绑定邮箱和手机立即绑定

如何防止for循环停止?

如何防止for循环停止?

侃侃尔雅 2021-12-17 14:52:21
在我的 for 循环中,当 if 语句都为真时,它会做它应该做的事情,然后它就结束了,不会继续整个循环。我尝试continue在柜台买卖后使用声明。它在存储变量的总和时起作用,但随后我在返回变量上出现错误,该错误表示内置模块的 NoneType 对象。如果我省略 continue 语句,它只存储与 if 语句匹配的第一个价格,但它会中断并停止汇总与这些语句匹配的其他价格。我知道问题是它在添加计数器后从 for 循环中断,也许返回缩进严重?buy = 0sell = 0def 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-buygains = checking(volume,close)gains我需要创建一个读取 2 个数据帧的函数,一个是股票的交易量,另一个是收盘价。我希望函数检查今天的成交量是否大于昨天的成交量,如果这是真的,那么它进入另一个 if 语句,询问今天的收盘价是否大于昨天的收盘价。如果这也是真的,那么它在“购买”变量中存储和求和那些天的价格,并在“卖”变量中存储和求和 [i+1] 之后的那一天的价格。最后它返回这两者之间的差异。
查看完整描述

2 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

你是对的,return 语句的缩进不正确。这是固定代码:


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)


查看完整回答
反对 回复 2021-12-17
?
函数式编程

TA贡献1807条经验 获得超9个赞

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)


查看完整回答
反对 回复 2021-12-17
  • 2 回答
  • 0 关注
  • 257 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号