Avatar ·

Comment calculer la somme 1!+2!+3!+...+n!

📁 Sujets avancés sur Python, IA

Condition du problème :

Étant donné un entier naturel n, calculez la somme 1!+2!+3!+...+n!. Dans la solution de ce problème, vous ne pouvez utiliser qu'une seule boucle. L'utilisation de la bibliothèque mathématique math est interdite dans ce problème.

n = int(input())N = 1sum = 0for a in range(1, n+1):    for b in range(1, a+1):        N = N * b    sum += Nprint(sum)                    
Avatar ·

Mark Lutz - "Apprendre Python", chapitre 20, page 596

Comme on le sait, les noms auxquels on assigne une valeur à l'intérieur d'une fonction sont par défaut considérés comme locaux – ils se trouvent dans la portée de la fonction et n'existent que pendant l'exécution de la fonction. Mais je n'ai pas encore dit que les variables locales sont définies statiquement, lors de la compilation du code dans l'instruction def, et non en fonction des opérations d'assignation effectuées lors de l'exécution. Cette particularité est à l'origine des messages les plus étranges dans les groupes de discussion, reçus de la part des programmeurs débutants. Habituellement, si aucun nom n'est assigné à l'intérieur d'une fonction, sa recherche sera effectuée dans la portée du module englobant. Mais regardez ce qui se passe

Connectez-vous pour laisser une réponse

Blogs