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 :
Comme à l'accoutumé, je commence par vous exprimez mon raisonnement :Définissez une fonction ligneCar(n,ca) qui renvoie une chaîne de n caractère ca.
On commence tout logiquement par appelé la fonction soit
Je définis ensuite trois variables :
Code : Sélectionner tout - Visualiser dans une fenêtre à part ligneCar(n, ca):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 compteur = 0 ret= str("ca") liste= []donc tant que la valeur utilisateur n'est pas atteinte on incrèmente le compteur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 While a <= n: compteur = compteur + 1 list.append(ret)
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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part return(liste)
Je demande tout d'abord à l'utilisateur d'entrer une valeur qui viendra donc remplacer mon "n"
nouveau paramètre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part valeur = raw_input("Veuillez entrer une valeur :")
j'appel ensuite ma fonction en utilisant mes deux variables:
Code : Sélectionner tout - Visualiser dans une fenêtre à part afCa = "ca" ou éventuellement afCa = str("ca")
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.)
Code : Sélectionner tout - Visualiser dans une fenêtre à part ligneCar (valeur, afCa)
L'utilisateur, entrer le chiffre 9.
Avec ça, il devrait donc me retourner la liste suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 while a <= 9 : a = a + 1 list.append(afCa) #soit ajouté un "ca" à ma liste.
Et pour ceux et celles qui préfère la version courte :ca, ca, ca, ca, ca, ca, ca, ca
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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