Somme des entiers successifs

Exercice

  1. Compléter la fonction somme1 ci-dessous qui prend en paramètre un entier n positif et renvoie la somme des entiers successifs entre 1 et n.

    🐍 Script Python
    def somme1(n): 
        """Signature somme1(n:int)->int"""  
        #à compléter
    
  2. Quelle précondition doit vérifier le paramètre n ? Insérer une vérification de cette précondition au début du corps de la fonction, avec un assert preconditionprecondition est un test à valeur booléenne (True ou False)

###
benchmark = ['somme1(0) == 0', bksl-nl'somme1(1) == 1', bksl-nl'somme1(5) == 15',bksl-nl'somme1(100) == 5050']bksl-nlbksl-nl 5/5

def somme1(n): bksl-nl """Signature somme1(n:int)->int""" bksl-nl #à compléterbksl-nlbksl-nl# Solution 1bksl-nlbksl-nldef somme1(n): bksl-nl """Signature somme1(n:int)->int""" bksl-nl s = 0 #penser à l'initialisationbksl-nl for k in range(1, n + 1):bksl-nl s = s + kbksl-nl #return hors de la bouclebksl-nl return sbksl-nlbksl-nlbksl-nl# Solution 3 : avec vérification de la précondition n >= 0bksl-nlbksl-nldef somme1bis(n): bksl-nl """Signature somme1bis(n:int)->int""" bksl-nl assert n >= 0 #vérification de la préconditionbksl-nl s = 0 #penser à l'initialisationbksl-nl for k in range(1, n + 1):bksl-nl s = s + kbksl-nl #return hors de la bouclebksl-nl return sbksl-nlbksl-nlbksl-nl# Solution 3 : avec la formule de Gaussbksl-nlbksl-nldef somme1py-undgauss(n): bksl-nl """Signature somme1bis(n:int)->int""" bksl-nl return n py-str (n+1) // 2bksl-nl

A

Z