0
votes

Impression du nom d'une liste

import random
Diamonds = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, "Jack", "Queen", "King"]
Hearts = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, "Jack", "Queen", "King"]
Clubs = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, "Jack", "Queen", "King"]
Spades = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, "Jack", "Queen", "King"]
suitvalues = [Diamonds, Hearts, Clubs, Spades]
potentialsuit = random.choice(suitvalues)
potentialcard = random.choice(potentialsuit)
print(potentialcard ,"of" ,potentialsuit.title)
My problem is that the potentialsuit.title part prints the entire list, whereas i only want to print the lists name. I am aware the part i wrote wont solve the issue, but thats just a substitute.

3 Réponses :


6
votes

Cela ne fonctionne pas, car les listes (comme tous les autres objets Python) n'ont aucun nom.

Imaginez le scénario suivant: p> xxx pré>

y , qui n'est pas simplement une copie de x code>, mais fait référence à la même liste (vous pouvez le voir en demandant x est Y code>), est tout aussi valide Nom pour la liste comme x code>. Alors quel nom devrait .... Titre code> choisir? P>


Une des nombreuses solutions de votre problème stocke vos cartes dans un dictionnaire: p>

import random
suit = random.choice(["Diamonds", "Hearts", "Clubs", "Spades"])
value = random.choice([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, "Jack", "Queen", "King"])
print(value, "of", suit)


0 commentaires

0
votes

Je ne sais pas comment vous pouvez imprimer le nom d'une variable, mais j'ai deux idées qui pourraient vous aider:

  1. Vous pourrez peut-être trouver de l'aide dans ce Autre discussion .
  2. Ma recommandation - Si votre cas est similaire à l'exemple que vous avez écrit- est que vous utilisez un dictionnaire pour cela, identique à L3Viathan . .

0 commentaires

0
votes

Cela devrait le résoudre pour vous:

The card chosen is 6 of Spades
The card chosen is King of Diamonds
The card chosen is 10 of Spades


0 commentaires