Trouble working with and updating dictionary using a class and function in Python 3 [Newbie]
我对编码有些陌生。过去一年左右,我一直在自学。我试图建立一个更坚实的基础,我正在努力创造非常简单的程序。我创建了一个类,并试图将"pets"添加到一个可以容纳多个"pets"的字典中。我尝试了很多不同的方法来修改代码,但是没有任何效果。这是我到目前为止所拥有的。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | # Created class class Animal: # Class Attribute classes = 'mammal' breed = 'breed' # Initializer/Instance Attribrutes def __init__ (self, species, name, breed): self.species = species self.name = name self.breed = breed # To get different/multiple user input @classmethod def from_input(cls): return cls( input('Species: '), input('Name: '), input('Breed: ') ) # Dictionary pets = {} # Function to add pet to dictionary def createpet(): for _ in range(10): pets.update = Animal.from_input() if pets.name in pets: raise ValueError('duplicate ID') # Calling the function createpet() |
我尝试将其更改为列表并使用"附加"工具,但这不起作用。我确信这段代码有很多错误,但我甚至不知道该怎么做。我已经研究过"收藏"模块,但还不能很好地理解它,不知道这是否有帮助。我要寻找的是可以运行"createpet()"函数的地方,每次添加一个新的宠物,包括品种、名称和品种。我研究过sqlite3,想知道这是否是一个更好的选择。如果可能的话,我会去哪里学习并更好地理解这个模块(又称为好的初学者教程)。任何帮助都将不胜感激。谢谢!
(首先,在将副本添加到词典之前,必须检查副本。)在字典中添加项目的方法是
1 | x[y] = z |
这将设置键
1 2 3 4 5 6 7 | @classmethod def createpet(cls): pet = cls.from_input() if pet.name in cls.pets: raise ValueError("duplicate ID") else: cls.pets[pet.name] = pet |