Utiliser une fonction dans une autre [Fermé]

Signaler
Messages postés
67
Date d'inscription
samedi 7 septembre 2013
Statut
Membre
Dernière intervention
15 juillet 2016
-
 Apiclo -
Bonjour, j'ai un soucis avec la définition de mes fonctions :

Je défini une fonction en lui attribuant des valeurs par défaut.

Ensuite je défini une autre fonction(avec ses valeur par défaut elle aussi) qui fait appel à la fonction précédente

Mon souci est que lors de l'appel de cette dernière fonction, c'est les paramètres par défaut de la première qui sont utilisé, et je trouve pas comment corrigé cela.

Merci de bien vouloir m'aider, je suis débutant dans l'étude de ce langage. Cordialement !

1 réponse

Messages postés
14788
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
1 mai 2021
286
Merci de montrer votre code.
Messages postés
67
Date d'inscription
samedi 7 septembre 2013
Statut
Membre
Dernière intervention
15 juillet 2016

Voici mon code, merci de bien vouloir me corriger si la présentation ici, est mal faite


def triangle(taille, couleur="blue", angle=0):
global color
color(couleur)
right(angle)
i=0
while i<3:
forward(taille)
right(120)
i +=1

def etoile6(taille=100, couleur="grey", angle=0):
right(angle)
triangle()
forward(taille/3)
left(60)
forward(taille/3)
right(120)
triangle()


J'ai un peu corrigé en entrant <taille,couleur> dans les paramètres de triangle () dans la deuxième définition. Mais je me demandais comment utiliser une instruction ou une fonction pour que les paramètres de triangle aient des valeurs "globale"
Messages postés
14788
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
1 mai 2021
286
On évite les variable globales en général.
Mais je ne vois pas comment tu pourrais appeler "triangle" sans paramètre, vu qu'au moins 1 est obligatoire.
>
Messages postés
14788
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
1 mai 2021

Au début du programme, je défini

taille = float(input("entrez un nombre")==50)

De cette façon les fonctions triangle et etoile6 sont appelée avec une valeur taille égale à 50 par défaut
Messages postés
14788
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
1 mai 2021
286
Quand tu commence à jouer sur ce genre de limite, c'est normal que tu ai des effets de bord pervers.
>
Messages postés
14788
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
1 mai 2021

Que me conseilles tu alors ?