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 :
Cela ne fonctionne pas, car les listes (comme tous les autres objets Python) n'ont aucun nom.
Imaginez le scénario suivant: p> Une des nombreuses solutions de votre problème stocke vos cartes dans un dictionnaire: p> 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>
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)
Je ne sais pas comment vous pouvez imprimer le nom d'une variable, mais j'ai deux idées qui pourraient vous aider: P>
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
Quand i i> exécutez cela, j'obtiens
Erreur d'attribut: 'Liste' Object n'a aucun attribut 'Titre' Code>
Dupliqué possible de Comment imprimer un nom de variable à Python? < / a>
Je ne pense pas vraiment que c'est un duplicata. C'est un problème différent de la façon dont les variables python fonctionnent!
Vous devez stocker le nom de la combinaison aux côtés des rangs.