Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Fonctions à nombre variable de paramètres

Fonctions récursives Fonctions à nombre variable de paramètres nommés


Accès rapide :
La vidéo
Contenu détaillé
Travaux pratiques
Les énoncés
Les corrections

La vidéo

Cette vidéo vous apprend à coder des fonctions Python à nombre variable de paramètres.


Fonctions à nombre variable de paramètres.

Contenu détaillé

En cours d'écriture : prochainement disponible.

Travaux pratiques

Les énoncés

Exercice 1 : coder une fonction à nombre variable de paramètres numériques qui calcule la somme de ces valeurs..

Exercice 2 : modifier la fonction précédente pour accepter

Comme toujours, essayez de faire ces exercices sans regarder directement la correction ci-dessous. ;-)

Les corrections

Exercice 1 : voici ma proposition de correction. Il est important de ne pas avoir appelé sa fonction sum, car ce nom est déjà utilisé dans la librairie standard Python.

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
def add(*values):
    result = 0
    for value in values:
        result += value
    return result


print(add(1, 2, 3))
print(add(1, 2, 3, 4, 5))
Correction de l'exercice 1

Et voici le résultat produit par cet exemple.

6
15

Exercice 2 : et voici ma proposition de correction pour une fonction add permet de sommer les valeurs d'une collection ou les paramètres passés à la fonction.

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
def add(*values):
    result = 0
    if len(values) == 1 and \
       (isinstance(values[0], list) or isinstance(values[0], tuple)):
        for value in values[0]:
            result += value
    else:
        for value in values:
            result += value
    return result


print(add(1, 2, 3))
print(add(1, 2, 3, 4, 5))
data = [1, 2, 3, 4, 5.5]
print(add(data))
Correction de l'exercice 2

Et voici le résultat produit par cet exemple.

6
15
15.5


Fonctions récursives Fonctions à nombre variable de paramètres nommés