我在discord.py上的一个货币项目上遇到了一个问题



我在replit上有一个带有货币程序的不和谐.py文件。但它停留在f:在开放线

">

async def open_account(user):
users = await get_bank_data()
if str (user.id) in users:
return False
else:
users[str(user.id)] = {}
users[str(user.id)]["wallet"] = 0
users[str(user.id)]["bank"] = 0
with open("mainbank.json", "w") as f:
json.dump(users, f)
return True

错误的是,它说:未凹痕与任何外部压痕水平都不匹配

请帮我

您的缩进量需要一致,请尝试只使用TAB一次。

尝试将该代码段替换为:

async def open_account(user):
users = await get_bank_data()
if str (user.id) in users:
return False
else:
users[str(user.id)] = {}
users[str(user.id)]["wallet"] = 0
users[str(user.id)]["bank"] = 0
with open("mainbank.json", "w") as f:
json.dump(users, f)
return True

在您提供的代码中,您从缩进2开始,然后到4,然后到3。如果您使用的是诸如VSCode之类的IDE,则有一个用于配置自动缩进大小的内置选项。如果您使用VSCode,请尝试CTRL+P并键入'>缩进

您的缩进级别搞砸了。Python使用空白来定义大多数其他语言将使用大括号的块。只要您在整个脚本中为每个缩进级别使用相同数量的空白,这就可以很好地工作。

因此,如果你从你的第一个级别开始(没有缩进(,并决定每个级别缩进4个空格,你的第二个级别有4个空格、第三个级别有8个空格,第四个级别有12个空格,等等。

无论你在哪里有一个二级块,你都必须给它4个空格的缩进,否则Python解释器会抛出你得到的错误。

您可以在PEP8的缩进部分找到更多关于如何正确操作的信息:https://www.python.org/dev/peps/pep-0008/#indentation

一个好的IDE可以帮助您正确格式化代码;-(

相关内容

最新更新