Inscription / Connexion Nouveau Sujet
Niveau logiciels
Partager :

Python appel de fonction

Posté par
cocottedu60
02-11-22 à 23:27

Bonjour, je ne sais pas si on a le droit de mettre ça ici, mais comment fait-on pour d'une fonction a l'introduire dans une fonction b?
Dans mon cas, j'ai une fonction factorielle qui doit ensuite me servir pour calculer la somme des 1/k!.
J'ai donc fait :for i in range(n):
                              s+=1/factorielle(n),
mais une erreur  s'y invite:"unsupported operand type(s) for +: 'int' and 'NoneType'"(j'ai bien compris qu'il ne s'agit pas de même "classe" mais je ne comprends pas comment le traduire autrement en python.)
Désolé du dérangement, et merci d'avance si quelqu'un y répond!

Posté par
carpediem
re : Python appel de fonction 03-11-22 à 00:07

salut

peut-être simplement écrire :

s = s + 1/factorielle(n)

Posté par
mathafou Moderateur
re : Python appel de fonction 03-11-22 à 00:46

Bonjour,
l'erreur n'est pas là mais ailleurs, dans les autre parties pas recopiées ici du programme (dans la fonction factorielle() par exemple, ou dans l'initialisation avant la boucle)

par contre il y a bien une erreur ici, sans rapport avec le message d'erreur annoncé, mais qui donnera un résultat faux :

c'est 1/factorielle(i)

(qu'il aurait d'ailleurs mieux valu appeler k pour être en accord avec l'énoncé 1/k! )

Posté par
Ulmiere
re : Python appel de fonction 03-11-22 à 11:20

En Python, toutes les fonctions retournent quelque chose.
Si te ne donnes pas de valeur explicite de retour à la fonction, elle retourne None.

Tu as oublié de mettre un return ... à la fin de ta fonction factorielle

Posté par
alb12
re : Python appel de fonction 11-11-22 à 21:49

cocottedu60 @ 02-11-2022 à 23:27

Désolé du dérangement, et merci d'avance si quelqu'un y répond!

Il me semble que c'est le cas



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !