gpt4 book ai didi

python - 使用 Discord.py 重写创建计数器机器人 - 分配错误之前引用的局部变量 'counter'

转载 作者:行者123 更新时间:2023-12-01 08:25:34 24 4
gpt4 key购买 nike

我正在尝试在一个不和谐的机器人中创建一个计数器,它从用户那里获取一个数字并将其添加到当前总数中。但是,我收到“在赋值之前引用局部变量‘计数器’”错误或“名称计数器未定义”错误。

在尝试解决我的问题时,我尝试了两种变体。

变体 1:

global counter
@bot.command()
async def bid(ctx,number):
counter += number
print(str(counter))

变体2:

@bot.command()
async def bid(ctx,number):
global counter
counter += 1
print(str(counter))

变体 1 取自 StackOverflow 上的类似问题帖子。这是返回“赋值前引用的局部变量'counter'”错误的代码

变体 2 也取自一个类似的问题(同一个问题实际上只是不同的回答)。这是返回“名称计数器未定义”错误的代码。

预期结果:

我希望创建一个命令来让用户增加计数。假设计数当前为 0。我希望能够说 !bid 40 并使计数达到 40。如果另一个用户说 !bid 20,我希望计数达到 60。

所提供的代码到底有什么问题?为什么会发生这种情况?

最佳答案

在变体 2 中,您必须定义计数器:

counter = 0

@bot.command()
async def bid(ctx,number):
global counter
counter += 1
print(str(counter))

关于python - 使用 Discord.py 重写创建计数器机器人 - 分配错误之前引用的局部变量 'counter',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54271917/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com