J'essaie de faire pour que je puisse simplement ajouter des utilisateurs au dictionnaire, mais ils se écrasent. Ont regardé autour de moi mais ne peut pas sembler trouver une solution. sortie: p> Comment puis-je faire si je veux faire à la fois "utilisateur1" et "user2" apparaît dans le dictionnaire? p> p>
6 Réponses :
Je pense que vous voulez faire quelque chose comme ça, bien que ce ne soit pas 100% clair: Lorsque vous instaniez la classe de programme, vous pouvez attribuer sa valeur à une clé de votre Dictionnaire de comptes. P> p>
Vous devez utiliser la méthode de mise à jour.
et la touche doit être unique. P>
Si l'utilisateur sera unique p>
{'user1' : {'user1name':'password'}, 'user2':{'user2name':'password'}}
dans votre variable globale "comptes", la valeur de la clé "L'utilisateur" est écrasée chaque fois que vous instaniez la classe de programme. Si vous souhaitez que le dictionnaire conserve chacun des utilisateurs, vous pouvez peut-être stocker les utilisateurs comme une liste contre le Valeur clé. C'est une façon de réaliser ce que vous voulez, je pense.
accounts={'User':[],'Username':[],'Password':[],'user_objects':[]}
....
accounts['Password'].append(self.password)
accounts['user_objects'].append(self)
user1 = Program('xxxxx', 'xxxxx', 'xxxxx')
....
Et si vous faites quelque chose comme: alors vous pouvez faire quelque chose comme: p>
Votre problème est l'une des modélisations de données plutôt que la programmation Python. Vous avez choisi de rendre votre programme orienté objet, ce qui peut être un bon choix pour ce scénario. Vous avez défini une classe code> CODE> et que vous avez conçu des utilisateurs nommés qui devraient utiliser ce programme, avec leur nom d'utilisateur et mot de passe personnel.
d'une perspective OO, il aurait alors un sens Pour rendre le utilisateur > dans une classe par elle-même et lier ces utilisateurs au programme (ou peut-être même des programmes), ils peuvent accéder. p> class User:
def __init__(self, name, username, password):
self.name = name
self.username = username
self.password = password
def __repr__(self):
return f'User({self.name}, {self.username}, {self.password})'
class Program:
def __init__(self, users=None):
if users is None:
users = []
self.users = users
def add_user(self, user):
self.users.append(user)
def __repr__(self):
return f'Program({", ".join(map(str, self.users))})'
my_program = Program()
my_program.add_user(User('John Smith', 'jsmith', 'ninja'))
my_program.add_user(User('David Jones', 'djones', 'pass1234'))
print(my_program)
J'ai trouvé une solution qui a fonctionné pour moi. Merci pour toute l'aide apprécie vraiment!
User: ['Dante', 'John']
Username: ['Neelo', 'Randddd']
Password: ['PassWord123', '123PassWord']
{'User': ['Dante', 'John'], 'Username': ['Neelo', 'Randddd'], 'Password': ['PassWord123', '123PassWord']}