首页 > 解决方案 > 如何将值存储在循环内的变量中并在其他循环中运行

问题描述

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 语句可以打印出值。

标签: python

解决方案


在您的循环中,当提到 Min 和 Max 时,它正在创建一个新变量。要使其在循环外使用已经创建的变量,请执行以下操作:

在引用循环内的变量之前,您必须将其设为全局变量,如下所示:

global Min, Max

推荐阅读