item = word_bank.pop(random.choice(list(word_bank.keys())))
print(list(word_bank.keys()))
print("The Word is: ", item)
print("=" * 25)
a = input("Do You Know It? (y/n):\t")
answer = word_bank[item]
La variable item
ci-dessus renvoie des valeurs à la place des clés de mon dictionnaire word_bank
. J'ai imprimé ma liste de clés pour essayer de déboguer le problème et aucune valeur n'existe, ce qui me fait penser que le problème existe avec la méthode pop
ou la méthode random.choice
. J'ai regardé à la fois dans la documentation pour ces derniers et n'a rien trouvé qui soulignerait le problème.pop aléatoire à partir de dict, servant des valeurs, pas des clés
Je pense qu'il a quelque chose à voir avec random.choices
renvoyant un index à une clé, puis la méthode pop
renvoyant la valeur correspondante à cette clé en tant qu'élément. Cependant, lorsque j'inverse les rôles et que j'utilise values()
à la place de keys()
, j'obtiens une erreur de clé et je n'arrive pas à trouver de solution au problème.
Quelqu'un pourrait-il nous éclairer à ce sujet et m'aider à trouver le moyen le plus efficace de le faire?
* ... aucune valeur n'existe *, savez-vous ce que 'dict.pop' fait? –
Qu'essayez-vous exactement de faire? Oui, si vous passez une clé à la méthode '.pop', elle * apparaît * la valeur correspondante ... –