# MenuItem.py
class MenuItem:
def __init__(self, name=None, types=None, price=None, description=None):
self._name = name
self._types = types
self._price = price
self._description = description
# Diner.py
class Diner(object):
STATUS = ["seated", "ordering", "eating", "paying", "leaving"]
def __init__(self, name):
self.__name = name
self.__order = []
self.__status = self.STATUS[0]
def __str__(self):
return ('Diner {} is currently {}'.format(self.__name, self.__status))
def calculateMealCost(self):
for value, key in enumerate(self.__order):
return MenuItem[value].price
我有两个python文件MenuItems.py和Diner.py。我希望calculateMealCost()方法返回特定用餐者的总用餐成本,但在执行此操作时
def calculateMealCost(self):
for value, key in enumerate(self.__order):
return MenuItem[value].price
我收到以下错误消息:
TypeError: 'type' object is not subscriptable
请问,我怎样才能解决这个问题
如果这两个类位于不同的文件中,假设它们位于同一目录中,则缺少import语句:
现在,为了访问您想要访问的price instance属性,您需要配置一个MenuItem类的实例:
只有那时你才能问巧克力派的价格:
换句话说,如果我正确地理解了您的代码,您需要首先将菜单上的所有项目定义为类MenuItem的实例,然后您将能够访问菜单上每个项目的price属性,将价格相加以获得最终的用餐成本
相关问题 更多 >
编程相关推荐