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

Résolu/Fermé
KikouillesUwU - Modifié le 12 déc. 2022 à 00:31
 KikouillesUwU - 12 déc. 2022 à 10:35

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

PierrotLeFou
12 déc. 2022 à 01:16

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

1
PierrotLeFou
12 déc. 2022 à 02:03

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
KikouillesUwU
12 déc. 2022 à 10:35

Ca fonctionne parfaitement ^^merciii!!!!

Je me sens débile maintenant haha ^^`

Encore merci et bonne journée 

0
PierrotLeFou
12 déc. 2022 à 01:05

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
KikouillesUwU
12 déc. 2022 à 01:12

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

En tout cas merci de ta réponse x)

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
KikouillesUwU
12 déc. 2022 à 01:18

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