我正在学习 Python,正在阅读一本书(Python 绝对初学者编程,第 3 版)。 这本书给出了一个类似模拟人生的基本应用程序的示例,其中创建了有限数量的“小动物”,用户必须喂养它们并与它们一起玩耍,从而增加它们的无聊和饥饿值。 我正在利用类(class)进行练习,并尝试制作自己的游戏。向用户呈现一个用户可以使用的菜单;购买/创建新的 SIM 卡、删除旧的 SIM 卡或与现有的 SIM 卡进行交互。 我遇到的问题是创建新类。用户最初会看到一个屏幕,询问他们想要做什么,如果他们按 X,他们就会进入 createnewsim 功能。然而问题是当创建一个新类时:
nameofsim = input("what would you like to call your new sim?")
newsim = sim(nameofsim)
如果用户要创建另一个,它将覆盖现有的,因为名称 newsim 无法更改,正如我在上一个问题中或多或少发现的那样。
那么,我该如何分配新的对象名称,或者防止旧的模拟卡被覆盖,从而允许创建多个新的模拟卡?
最佳答案
将您的 sim 类存储在列表或字典中;例如
class Sim(object):
def __init__(self, name):
self.name = name
names = ['tim','dave','jane']
sims = {}
for name in names:
sims[name] = Sim(name)
关于python - 用户创建的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9762714/