Un titre qui en dit long n'est - ce - pas ?
Me voila rendu au chapitre concernant les fonctions ( diantre ! On sent de suite que le niveau à monté ). On y retrouve pas mal d'informations et surtout pas mal de nouveau vocabulaire à démêler et assimiler (arguments, paramètres etc..)
Tranquillement donc je découvre ce qu'est une fonction et je pense avoir clairement compris que la fonction nous permettais d'alléger notre code d'une part mais aussi de rendre notre travail plus efficace en nous évitant ( si besoin ) de réécrire plusieurs fois les même choses.
Je me heurte ce soir (déjà) au premier exercice ( voila qui est déroutant ) et je fais donc appel à vous afin d'éclairer ma lanterne.
Nous nous situons à l'exercice e.44 dont voici la consigne :
Définissez une fonction ligneCar(n,ca) qui renvoie une chaîne de n caractère ca.
Comme à l'accoutumé, je commence par vous exprimez mon raisonnement :
On commence tout logiquement par appelé la fonction soit
Je définis ensuite trois variables :
1 2 3
| compteur = 0
ret= str("ca")
liste= [] |
1 2 3
| While a <= n:
compteur = compteur + 1
list.append(ret) |
donc tant que la valeur utilisateur n'est pas atteinte on incrèmente le compteur
et on ajoute à ma liste la chaîne de caractère "ça"
Pour terminé je demande à la fonction de retourner et donc d'afficher ma liste, soit :
Qu'en est-il maintenant du corps principal du programme ? Les choses me semblent toute simples pourtant :
Je demande tout d'abord à l'utilisateur d'entrer une valeur qui viendra donc remplacer mon "n"
valeur = raw_input("Veuillez entrer une valeur :")
nouveau paramètre :
afCa = "ca" ou éventuellement afCa = str("ca")
j'appel ensuite ma fonction en utilisant mes deux variables:
Petite mise en situation (désolé au passage si mon poste paraît lourd mais disons qu'en écrivant tout ceci de manière détaillé, je me dis parfois qu'une illumination....Enfin vous voyez.)
L'utilisateur, entrer le chiffre 9.
1 2 3
| while a <= 9 :
a = a + 1
list.append(afCa) #soit ajouté un "ca" à ma liste. |
Avec ça, il devrait donc me retourner la liste suivante :
ca, ca, ca, ca, ca, ca, ca, ca
Et pour ceux et celles qui préfère la version courte :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| ####################################
# Programme Python Type #
# Sujet : exercice e.44 #
####################################
####################################
# Définire une fonction #
# ligneCar(n, ca) qui renvoie une #
# chaine de n caractere ca. #
####################################
####################################
# Définition de(s) fonctions : #
####################################
def ligneCar(n, ca):
a = 0
ret = str("ca")
liste = []
while a <= n:
a = a + 1
list.append(ret)
return(liste)
####################################
# corps principal du programme #
####################################
valeur = raw_input("Entrer une vleur:")
AfCa = "ca"
ligneCar(valeur, AfCa) |
Ou se situe mon erreur ?
Partager