Python执行功能

时间:2018-08-17 17:55:08

标签: python json auto-update

想要帮助解决这个小问题,我创建了一个用于买卖货币的简单机器人,我向自己发送信号“买入信号”进行购买和“卖出信号”进行出售,并且该机器人在收到它们后便执行它们信号同时以json格式接收,但是我不能同时买卖,我该怎么做,当收到一个更新时,我只执行买入;当收到下一个更新时,我仅执行一个买入卖?我每1小时向自己发送一次这些信号,所以这就是为什么我循环使用此代码,并提出任何想法的原因。

import time

counter = 0

while True:

    counter += 1
    print(counter)
    time.sleep(5)
    if counter == 10:
        print('We\'re Done Here')
        break

    def main():

        buynow = 'buysignal'

        sellnow = 'sellsignal'


        if buynow == 'buysignal':
            buys = print('buy order')

            return buys

        elif sellnow == 'sellsignal':

            sells = print('sell order')

            return sells

    if __name__ == '__main__':
        ret = main()

        print(ret)

1 个答案:

答案 0 :(得分:1)

main()函数中,buysignalsellsignal始终设置为相同的值,因此每次都会发生相同的事情。也许您应该像这样创建函数:

def main(signal):
    if signal == 'buy':
        # ... do the stuff for 'buysignal'
    elif signal == 'sell':
        # ... do the stuff for 'sellsignal'

然后,当您调用它时,就这样:

main(input())

input()替换为您确定要执行的操作-确保将其“购买”或“出售”传递给函数

此外,如果您的目标是在10个循环中执行此操作,则可以使用for循环:

import time
if __name__ == '__main__':
    for _ in range(10):
        main(input('buy or sell? '))
        time.sleep(60) # ... or whatever interval you need
    print('We\'re done here')