Feuille d'exercices I

Question 1

Écrire le code de la fonction valid_triangle.

In [ ]:
def valid_triangle(a, b, c):
    """ Retourne True s'il existe un triangle
        dont les côtés ont pour mesures a, b et c.
        Retourne False sinon.
    """
    ### À COMPLÉTER
    
print(valid_triangle(2, 3, 4))
print(valid_triangle(10, 7, 17))
print(valid_triangle(2, 6, 3))

Question 2

Écrire le code de la fonction approx_pi en utilisant la formule :

$$\pi\approx 3 +\frac{4}{2\times 3\times 4} -\frac{4}{4\times 5\times 6} +\frac{4}{6\times 7\times 8} -\frac{4}{8\times 9\times 10} +\frac{4}{10\times 11\times 12} -\dots $$
In [ ]:
def approx_pi():
    """ Retourne une approximation de pi.
    """
    ### À COMPLÉTER

print(approx_pi())

from math import pi
print(pi)

Question 3

Écrire le code de la fonction without_duplicate.

In [ ]:
def without_duplicate(L):
    """ Retourne une liste où tous éléments consécutifs de L
        de même valeur ont été supprimés.
    """
    ### À COMPLÉTER

without_duplicate([2, 5, 5, 5, 6, 6, 5, 4])  # -> [2, 5, 6, 5, 4]

Question 4

Écrire le code de la fonction perimeter.

sqrt(x) retourne la racine carrée de x.

In [ ]:
from math import sqrt

def perimeter(poly):
    """ Retourne le périmètre du polygone poly.
    
        poly est une liste de couples donnant les coordonnées
        des sommets du polygone.
    """
    ### À COMPLÉTER

poly = [(-1, -2), (2, -3), (2, -1), (1, 1)]
perimeter(poly)  # -> 11.00389691313216

Question 5

Écrire la fonction gen_passwd.

randint(a, b) retourne un entier aléatoire compris entre a et b.

Il pourra être utile de définir deux variables str, l'une contenant les voyelles et l'autre les consonnes de l'alphabet.

In [ ]:
from random import randint

def gen_passwd():
    """ Retourne une chaîne de 12 caractères aléatoires.
        La chaîne est formée de 4 syllabes comportant chacune
        une voyelle entourée de deux consonnes.     
    """
    ### À COMPLÉTER

gen_passwd()

Question 6

Écrire le code de la fonction contains.

Il est pertinent d'écrire une fonction auxilliaire at_position(text, k, word).

In [ ]:
def contains(text, word):
    """ Retourne True si word est contenu dans text.
        Retourne False sinon.
    """
    ### À COMPLÉTER
    
print(contains("bonjour à tous", "jour"))
print(contains("bonjour à tous", "r à t"))
print(contains("bonjour à tous", "jourà"))