python - 如何将值存储在循环内的变量中并在其他循环中运行
问题描述
Min = 0
Sec = 0
if messages.content.startswith('y'):
await messages.channel.send("Start Counting. Wish you have a nice mood to learn!")
time.sleep(1)
await messages.channel.send("If you want to stop this timer you can type 'Stop',thank you.")
timeLoop = True
while timeLoop:
Sec += 1
await messages.channel.send(str(Min) + " Mins " + str(Sec) + " Sec ")
time.sleep(1)
if Sec == 60:
Sec = 0
Min += 1
await messages.channel.send(str(Min) + " Minute")
if messages.content.startswith('check'):
await messages.channel.send(str(Min) + str(Sec))
我想问一下我想从第一个 if 语句到第二个 if 语句中显示 Min 和 Sec 的值。但是当我运行检查时,尽管计时器正在运行,但我总是向我显示 0Min 和 0Sec。是否有任何解决方案可以使这两个变量的值可以存储在整个程序中,以便我的第二个 if 语句可以打印出值。
解决方案
在您的循环中,当提到 Min 和 Max 时,它正在创建一个新变量。要使其在循环外使用已经创建的变量,请执行以下操作:
在引用循环内的变量之前,您必须将其设为全局变量,如下所示:
global Min, Max