Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 属性错误:';布尔';对象没有属性';钥匙';_Python - Fatal编程技术网

Python 属性错误:';布尔';对象没有属性';钥匙';

Python 属性错误:';布尔';对象没有属性';钥匙';,python,Python,我是这个网站的新手,也是编程的新手,我正在尝试使用一本关于python 3.1的入门书来学习python。我遇到了一个无论我尝试什么都不起作用的例子,我已经在写作中寻找了大约10次错误,但这似乎正是我在书中看到的。例如: 冰箱课 这就是我调用类的方式,以及我如何使用这些类和我得到的错误 exec(open(“/home/knoppix/test/fredge.py”).read()) >>>exec(open(“/home/knoppix/test/omelet.py”).read()) >>>

我是这个网站的新手,也是编程的新手,我正在尝试使用一本关于python 3.1的入门书来学习python。我遇到了一个无论我尝试什么都不起作用的例子,我已经在写作中寻找了大约10次错误,但这似乎正是我在书中看到的。例如:

冰箱课 这就是我调用类的方式,以及我如何使用这些类和我得到的错误 exec(open(“/home/knoppix/test/fredge.py”).read()) >>>exec(open(“/home/knoppix/test/omelet.py”).read()) >>>o=煎蛋卷(“奶酪”) >>>f=冰箱({“奶酪”:5,“牛奶”:4,“鸡蛋”:12}) >>>o.get_成分(f) >>>o.mix() 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 文件“”,第41行,混合 AttributeError:“bool”对象没有属性“keys” 如果代码中有打字错误,请原谅,这正是我在书中发现的

def get_ingredients(self, fridge):
    self.from_fridge= fridge.get_ingredients(self)
在此函数中,您的
冰箱.get_配料()
可能返回
False

因此,
self.from_冰箱
Boolean
值,该值没有
keys()
方法

您可能需要添加适当的签入
mix()
方法

在此函数中,您的
冰箱.get_配料()
可能返回
False

因此,
self.from_冰箱
Boolean
值,该值没有
keys()
方法

您可能需要添加适当的签入
mix()
方法。

函数“\uu known\u kinds(kind)”最好返回{}以保持一致,而不是不同的对象类型,尽管“None”比“False”好

然后只需在mix()方法中处理字典类型。还可以从mix()中删除else,因为如果dict=={},将引发异常

def mix(self):
    if self.from_fridge == {}:
        raise IndexError("self.from_fridge returns Nothing")

    for ingredient in self.from_fridge.keys():     
..

函数“\uuuu known\u kinds(kind)”最好返回{}以保持一致,而不是不同的对象类型,尽管“None”比“False”好

然后只需在mix()方法中处理字典类型。还可以从mix()中删除else,因为如果dict=={},将引发异常

def mix(self):
    if self.from_fridge == {}:
        raise IndexError("self.from_fridge returns Nothing")

    for ingredient in self.from_fridge.keys():     

可能是,但如果它返回false,则整个程序都是错误的,因为它不会执行它应该执行的操作,但是如果它返回false,则整个程序都是错误的,因为它不会执行它应该执行的操作
def get_ingredients(self, fridge):
    self.from_fridge= fridge.get_ingredients(self)
    if kind == "cheese":
        return {"eggs":2, "milk":1, "cheese":1}
    elif kind == "mushroom":
        return {"eggs":2, "milk":1, "cheese":1, "mushroom":2}
    elif kind == "onion":
        return {"eggs":2, "milk":1, "cheese":1, "onion":1}
    else:
        return {}
def mix(self):
    if self.from_fridge == {}:
        raise IndexError("self.from_fridge returns Nothing")

    for ingredient in self.from_fridge.keys():