Python:在elif阶段使用相同的变量,但最后一部分抛出XXX not defined错误

2024-06-16 17:04:21 发布

您现在位置:Python中文网/ 问答频道 /正文

其余部分工作良好,但 如果最后一行被触发,它将抛出NameError: name 'rastolfostr' is not defined错误,rastolfostr已经设置在if-elif语句之前,但是下面是代码

    @client.event
async def on_message(message):
    lowcasemsg=message.content.lower()
    if lowcasemsg.startswith('.astolfo'):
       rasfolto=random.randint(1, 100000000)
       rasfoltostr=str(rasfolto)
       if lowcasemsg.startswith('.astolfo nsfw'):
         astolfolink=apibase + 'from=astolfo&nsfw=1&img=' + rasfoltostr
       elif lowcasemsg.startswith('.astolfo sfw'):
         astolfolink=apibase + 'from=astolfo&nsfw=0&img=' + rasfoltostr
       elif lowcasemsg.startswith('.astolfo mix'):
         astolfolink=apibase + 'from=astolfo&nsfw=2&img=' + rasfoltostr
       else:
         astolfolink=apibase + 'from=astolfo&nsfw=0&img=' + rastolfostr
    await message.reply (astolfolink, mention_author=False)

我计划检查其他3个,如果没有,给出最后一个是sfw

如果最后一个触发,则会发生这种情况,其余的都是工作 Screenshot from terminal


Tags: frommessageimgifelifnsfwstartswithsfw