Exercices de programmation en Python

Fonctions



Les exercices suivants portent, entre autre, sur les fonctions en python.
Si ce n'est déjà fait et connu, voir les éléments de cours/exemples à ce sujet.

Exercice 1:
  1. Qu'affiche le programme suivant ?
    def Stars(n):
        print(n*"*")
    
    Stars(3)
    Stars(10)
    
  2. En utilisant cette fonction dans une boucle, produire l'affichage suivant:
    * 
    **
    ***
    ****
    *****
    ******
    

Exercice 2:
  1. Que fait et affiche le programme suivant ?
    def MaFonction(a,b):
        y=a+b
        return y
        
    a=2;b=5
    c=MaFonction(a,b)
    print("c = ", c)
    
    z=Mafonction(3,2+5)
    print("z = ", z)
    
    Combien la fonction nommée MaFonction a-t'elle d'arguments en entrée ? en sortie ?
  2. Écrire une fonction, nommée MyNewFct, avec trois arguments qui retourne la moyenne des trois valeurs.
  3. Écrire une fonction, nommée Mention, qui a un argument en entrée: une note entre 0 et 20, et en sortie renvoie la mention correspondante: P, AB, B, TB.
    Compléter cette fonction pour qu'elle affiche un message d'erreur si la note entrée est négative ou supérieure à 20.
  4. Écrire une troisième fonction, nommée Apprecie, avec trois arguments en entrée et qui renvoie la mention correspondante à la moyenne des trois valeurs entrées.
    Cette fontion sera écrite en appelant les deux fonctions précédentes: MyNewFct et Mention.
Exercice 3:
  1. Qu'affiche le programme suivant ?
    def f(x):
        return 100*x-4*x**2+2
    
    print(f(2))
    
  2. Écrire un programme qui affiche les valeurs f(x) pour tous les nombres entiers x entre 0 et 20 (utiliser une boucle for ...).
  3. Modifier le programme précédent pour qu'il trouve et affiche le maximum de la fonction f, et la valeur de x correspondante.

Exercice 4:
  1. Qu'affiche le programme suivant ?
    def u(n):
        if n==0:
            return 2
        else: 
            return 3*u(n-1)-2
    
    print(u(0))
    print(u(1))
    print(u(2))
    
    n=10
    print(u(n))
    La fonction définie et utilisée ici s'appelle une fonctions récursive: c'est une fonction qui s'appelle elle-même…
  2. Modifier le programme précédent pour qu'il calcule les termes de la suite $(u_n)$ définie par l'expression
    $u_n=\dfrac{2u_{n-1}^2-1}{u_{n-1}^2+2}$.
    Afficher en particulier les termes $u_{10}$ et $u_{20}$.
  3. Une autre manière de programmer les calculs des termes d'une telle suite est:
    u=2
    n=10
    for i in range(n):
        u=(2*u**2-1)/(u**2+2)
    print(u)
    
    qui calcule ici $u_{10}$, le terme de rang 10.
    Utiliser ce programme pour afficher en particulier les termes $u_{10}$, $u_{100}$ et $u_{1000}$.
    Qu'observe-t-on pour des valeurs de plus en plus grandes de n ?

Exercice 5:
  1. Un village comptait 4000 habitants en 2000. Chaque année depuis, cette population a augmenté de 3% d'une année à la suivante.
    Écrire un programme qui calcule le nombre d'habitants dans ce village en 2001, puis 2002, puis 2010, pusi cette année.
  2. Modifier le programme précédent pour qu'il détermine en quelle année la population du village aura triplé.
Top Programmation en python