Bonjour,
vos lumières m'ont bien aidés hier mais aujourd'hui je me confronte à un nouveau problème, j'ai beau cherché, il y a une erreur quelque part que je ne cerne pas, ni moi, ni ceux à qui j'ai pu montré le programme,
peut être que vous saurez résoudre celui-ci !
Le problème est que je n'arrive pas à faire communiquer les variables d'une fonction à une autre ! Depuis hier je m'acharne là-dessus, je ne trouve pas !
Je calcule 2 valeurs "resultatrouge" et "resultatbleu" dans la fonction "deuxde", seulement, la fonction "manche" ne reconnait pas ces variables et n'affiche rien durant l'exécution du programme !
Même problème pour la valeur "score" qui ne s'affiche pas non plus !
Merci infiniment en avance,
Romain
Le programme :Code:from turtle import * from random import * def carre(x,y,n): speed(100) up() goto(x,y) down() for i in range(4): forward(n) left(90) def carreplein(x,y,n,couleur): begin_fill() color(couleur) carre(x,y,n/6) end_fill() color("black") def dessinede(x,y,couleur,chiffre): carre(x,y,120) if chiffre in [1, 3, 5]: carreplein(x+50,y+50,120,couleur) if chiffre in [2, 3, 4, 5, 6]: carreplein(x+15,y+15,120,couleur) carreplein(x+85,y+85,120,couleur) if chiffre in [4, 5, 6]: carreplein(x+15,y+85,120,couleur) carreplein(x+85,y+15,120,couleur) if chiffre == 6: carreplein(x+15,y+50,120,couleur) carreplein(x+85,y+50,120,couleur) def deuxde(x,y,couleur): if couleur == "red": chiffre1r = randint(1,6) dessinede(x,y,couleur,chiffre1r) chiffre2r = randint(1,6) dessinede(x+150,y,couleur,chiffre2r) resultatrouge = chiffre1r + chiffre2r print("rouge:",resultatrouge) return resultatrouge else: chiffre1b = randint(1,6) dessinede(x,y,couleur,chiffre1b) chiffre2b = randint(1,6) dessinede(x+150,y,couleur,chiffre2b) resultatbleu = chiffre1b + chiffre2b print("bleu:",resultatbleu) return resultatbleu def manche(x,y): deuxde(x-400,y+240,"red") deuxde(x+125,y+240,"blue") up() goto(x-68,y+280) down() score = 0 if resultatrouge > resultatbleu: resultatmanche = "GAGNE" score = score +1 return score if resultatrouge < resultatbleu: resultatmanche = "PERDU" score = score -1 return score if resultatrouge == resultatbleu: resultatmanche = "EGALITE" return score write(resultatmanche, font=("Arial",24,"normal")) def jeu(x,y): n = int(input("Combien de manche ?")) for i in range(n): score = manche(x,y) y = y-150 up() goto(x-400,y-10) down() write("SCORE:",score, font=("Arial",27,"normal")) jeu(0,0) exitonclick()
-----