Problèmes fonctions Python
Résolu/Fermé- Problèmes fonctions Python
- Citizen code python avis - Accueil - Outils
- Python est introuvable. exúcutez sans argument pour procúder ó l ✓ - Forum Python
- Trouver la position d'un élément dans une liste python ✓ - Forum Python
- Extraire données fichier texte python ✓ - Forum Python
12 réponses
8 sept. 2022 à 20:28
Ben ça dépend.
Si ta fonction n'est censée renvoyer aucun résultat, il ne faut tout simplement pas de return.
A l'inverse, si elle doit renvoyer un résultat, il faut le mettre après le return.
Avec
return []
tu renvoies une liste vide.
Donc si ton programme n'attend rien, il s'en moque.
Et s'il attend une liste, mais peut "survivre" au fait qu'elle soit vide, il s'en moque aussi
7 sept. 2022 à 20:39
Bonjour,
A l'avenir, merci d'utiliser l'icone qui sert à poster du code sur le forum...
Ensuite.. quel est le souci ? Un message d'erreur ? un comportement qui n'est pas le bon ? ( ça te fait quoi et tu voudrais avoir quoi ? ).. bref.. faut détailler !
Mais..
Si l'indentation de ton code est bien celle qui est dans le message que tu as posté .. ton print ne se trouve pas bien aligné je pense;.
7 sept. 2022 à 20:40
Et puis.. tu initialises U avec une valeur (5) que tu écrases ensuite dans ta formule
Le N sort d'on ne sait où .... et le i ne semble pas utilisé ..
Bref.. rien ne va dans ce code visiblement
7 sept. 2022 à 21:11
Ah... ;-;
Merci de me répondre, je n'ai pas encore eu l'occasion d'utiliser ce forum, veuillez donc m'excuser pour ces erreurs, je veillerai à essayer de ne plus les reproduire...
Voilà le code exact :
def suite_u(): u = 5 for i in range(1,11): u = (u/2)+1 print(u)
PS : le "n" était une erreur
Ce programme doit : calculer le 11e terme d'une suite définie par u0 (je ne sais pas comment écrire des indices) et par un+1 = (un/2)+1.
J'aimerai donc savoir si il y a une erreur dedans, ou tout autre problème, car lorsque je lance le programme ("run") rien ne s'affiche.
7 sept. 2022 à 21:14
Bonsoir.
s'il n'affiche rien, il y a des chances que cela vienne de la partie de code qui appelle la fonction, partie que tu n'as pas montrée
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question7 sept. 2022 à 21:17
Sur une calculatrice, il y a la touche Pi, qui affiche la valeur de Pi si on appuie dessus.
C'est le fait d'appuyer dessus qui appelle la fonction qui affiche Pi.
Dans un programme, c'est pareil, dans le "main", le programme principal, tu dois appeler la fonction.
Si c'est cela, je ne sais pas où il faut que je le mette... pourriez vous donc me l'indiquer ?
Ou m'écrire le programme que vous, vous utiliseriez ? Sachant qu'utiliser une fonction est obligatoire.
Merci :p
Modifié le 7 sept. 2022 à 22:35
Non, return ne sert pas à appeler une fonction.
Return sert quand une fonction doit renvoyer un résultat, à indiquer quel résultat est renvoyé.
Par exemple, Range est une fonction (un peu particulière certes, mais comme tu l'as utilisée ça reste un bon exemple).
Tu lui as donné comme paramètre 1 et 11, donc elle va "retourner" successivement 1, 2, 3, 4, 5, 6, 7, 8, 9 et enfin 10.
Dans son code, il y a un Return associé à une variable qui prend ces valeurs les unes après les autres.
Sachant qu'utiliser une fonction est obligatoire.
Je suppose donc que c'est un exercice issu d'un cours et dans ce cas, je serais très étonné que ce cours ne t'ait pas expliqué ce qu'est un appel à une fonction.
Bien souvent, les terminologies en informatique sont données par analogie, si je veux que tu interagisses avec moi, alors que tu es occupé ailleurs ou "en sommeil", je vais crier ton pseudo, t'appeler quoi.
Pour appeler une fonction, on écrit son nom avec les paramètres entre parenthèses.
Dans ta fonction, tu as appelé la fonction Range, en écrivant son nom.
Dans le programme principal, tu dois appeler ta fonction de la même façon.
Merci, je crois que j'ai compris, mes programmes fonctionnent enfin !
Il me reste une dernière question : le "return[ ]" est-il obligatoire à la fin d'une fonction ?
Car j'ai remarqué que sa présence ne changeait rien pour afficher les résultats, pour tous les programmes que j'ai écrit.
8 sept. 2022 à 20:26
bonjour,
à ton choix, la fonction peut retourner un résultat, via return(), ou pas.
8 sept. 2022 à 21:13
De rien.
Tu peux marquer le sujet résolu, si ça te convient.
Modifié le 8 sept. 2022 à 20:53
D'accord, pour toutes celles que j'ai écrit, cela n'affectait rien, donc je vais les laisser comme ça.
Mais je note que j'en aurais probablement besoin par le futur.
Encore merci de ton aide !