python-3.x error comes as:- 'int' object is not subscriptable when i type latte

hlswsv35  于 2023-03-31  发布在  Python
关注(0)|答案(1)|浏览(93)

我的回复链接:-https://replit.com/@AdityaShukla29/Python-error-check?v=1
我尝试了replit中的代码,当我键入lattereport时,它给出了一个错误。

vq8itlhq

vq8itlhq1#

您正在重用变量coffee。它开始引用整个菜单:

coffee=Coffee.MENU

但在后面的代码中,您可以重新分配它:

coffee=coffee[ask]["ingredients"]["coffee"]

在你重新分配coffee之后,它指向一个intingredients中的咖啡量)。下次你试图在coffee之前指向的菜单字典中查找一个项目时,你会得到一个错误,因为它不再是一个字典,而是一个int
要解决这个问题,请使用有助于防止意外重用变量的名称。我可能会建议将import行改为:

from Coffee import MENU

然后只使用MENU[ask][etc...],使用原来的名称可以使您更容易记住它引用的内容(MENU全局变量),并且不太可能将它重新分配给其他对象。

相关问题