Utiliser une fonction dans une autre

Fermé
Apiclo Messages postés 67 Date d'inscription samedi 7 septembre 2013 Statut Membre Dernière intervention 15 juillet 2016 - 15 juil. 2016 à 20:36
 Apiclo - 18 juil. 2016 à 00:03
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

NHenry Messages postés 15164 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 27 novembre 2024 345
15 juil. 2016 à 20:47
Merci de montrer votre code.
0
Apiclo Messages postés 67 Date d'inscription samedi 7 septembre 2013 Statut Membre Dernière intervention 15 juillet 2016
15 juil. 2016 à 21:47
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"
0
NHenry Messages postés 15164 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 27 novembre 2024 345
16 juil. 2016 à 19:35
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.
0
Apiclo > NHenry Messages postés 15164 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 27 novembre 2024
17 juil. 2016 à 18:36
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
0
NHenry Messages postés 15164 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 27 novembre 2024 345
17 juil. 2016 à 20:07
Quand tu commence à jouer sur ce genre de limite, c'est normal que tu ai des effets de bord pervers.
0
Apiclo > NHenry Messages postés 15164 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 27 novembre 2024
18 juil. 2016 à 00:03
Que me conseilles tu alors ?
0