函数阻塞(Python)
一个循环阻塞了函数changeStockPrice,使变量stockA成为默认值(0.2)。请告诉我这个问题以及如何解决 我很确定股票价格变动是个问题,因为: 打印(获取库存列表()) 这将获取默认值(0.2) 打印(圆形(abs(stockA+random.randint(-20,20)/10),1)) 这非常有效(范围从0到2.2) 这是我的代码的简化版本:函数阻塞(Python),python,function,variables,Python,Function,Variables,一个循环阻塞了函数changeStockPrice,使变量stockA成为默认值(0.2)。请告诉我这个问题以及如何解决 我很确定股票价格变动是个问题,因为: 打印(获取库存列表()) 这将获取默认值(0.2) 打印(圆形(abs(stockA+random.randint(-20,20)/10),1)) 这非常有效(范围从0到2.2) 这是我的代码的简化版本: 随机导入 导入时间 斯托克A=0.2 def get_stocklist(): 答复=f“股票: 1E不和谐{stockA} """
随机导入
导入时间
斯托克A=0.2
def get_stocklist():
答复=f“股票:
1E不和谐{stockA}
"""
返回(响应)
def变更股票价格(股票):
股票=整数(abs(股票+随机指数(-20,20)/10),1)
退货(库存)
def stockPriceChanger():
全球股票市场
尽管如此:
时间。睡眠(5)
stockA=变动股票价格(stockA)
打印(获取库存列表())
打印(圆形(abs(stockA+random.randint(-20,20)/10),1))
在这里,函数进入无限循环。为了避免这种情况,您必须中断while循环或设置一些条件来中断它。将print语句放入while循环。您有一个
while
循环,没有中断条件;这就是它被卡在那里的原因。@KrishnaChaurasia我该如何修复它?我需要它无限期地运行,但我仍然需要运行另一个代码查看线程
模块或异步
模块,了解并行运行代码的两种非常不同的方法
def stockPriceChanger():
global stockA
while True:
time.sleep(5)
stockA = changeStockPrice(stockA)
yield #break (if you want to break it)