J'aurai besoin d'aide pour mon script Python svp...

Résolu

Bonsoir à tous ^^,

En effet j'ai un programme Python (tarot) avec deux listes(valeurs et famille), et je dois faire une fonction permettant d'afficher des phrases avec au débuts un élément de la première liste et ensuite un élément de la deuxième liste. Cela je l'ai fait mais comme les deux listes n'ont pas le même nombre de valeurs et que pour chaque éléments de la liste valeurs je doit assigner tous les éléments de la liste famille, eh bien je suis un peu perdu....

Voici mon programme:

valeurs=['as','2','3','4','5','6','7','8','9','10','Valet','Cavalier','Dame','Roi']
famille=["trèfle","coeur","carreau","pique"]
def creation_jeu():
    for valeur in valeurs:
        for i in range(len(valeurs)):
            print(f'{valeurs[i]} de {famille[i]}')

creation_jeu()

Même si j'ai compris ce qui n'allait pas, (c'est à dire que comme "famille" comporte moins de valeurs que "valeurs" ) je ne sais pas comment le faire, de même pour assigner chaque éléments de "valeurs" à tous les éléments de "famille", donc en créant 4 phrases pur chaque éléments de valeurs; exemple :

as de trèfle

as de pique   

as de coeur  

as de carreau

Ah oui et lorsque je lance le script, la console m'affiche cela ^^:

*** Console de processus distant Réinitialisée *** 
as de trèfles
2 de coeurs
3 de carreaux
4 de piques
Traceback (most recent call last):
  File "C:\Users\Documents\Python fichier\Ex 6 listes.py", line 10, in <module>
    creation_jeu()
  File "C:\Users\Documents\Python fichier\Ex 6 listes.py", line 8, in creation_jeu
    print(f'{valeurs[i]} de {famille[i]}')
IndexError: list index out of range

Merci beaucoup x)
Windows / Chrome 107.0.0.0

5 réponses

  1. Ceci ne marche pas?
        for valeur in valeurs:
            for famille in familles:

    1
    1. Et ceci:
      import random
      valeurs=['as','2','3','4','5','6','7','8','9','10','Valet','Cavalier','Dame','Roi']
      familles=["trèfles","coeurs","carreaux","piques"]
      def creation_jeu():
          for v in valeurs:
              for f in familles:
                  print(f'{v} de {f}')

      creation_jeu()12345678910

      1
      1. Ca fonctionne parfaitement ^^merciii!!!!

        Je me sens débile maintenant haha ^^`

        Encore merci et bonne journée 

        0
    2. Tu as écrit:
          for valeur in valeurs:
      Pourquoi ne peux-tu pas faire la même chose avec les familles?
      Tu étais bien parti ...

      0
      1. C'est que j'avais déjà essayé et ça n'avait rien changé ^^' 

        En tout cas merci de ta réponse x)

        0
        1. Eh bien je viens de réessayer et non...? fin peut être que mon programme après n'est pas correcte. Le voici:

          valeurs=['as','2','3','4','5','6','7','8','9','10','Valet','Cavalier','Dame','Roi']
          famille=["trèfles","coeurs","carreaux","piques"]
          import random
          def creation_jeu():
              for valeur in valeurs:
                  for éléments in famille:
                      for i in range(len(valeurs)):
                          print(f'{valeurs[i]} de {famille[i]}')
          
          creation_jeu()
          0