Aller au contenu

TD⚓︎

Exercice 1

foo = (1, 2, 3, 4)
  1. Que retournera foo[0], foo[4]?
  2. Quel sera l'effet de foo[1] = 5?
  3. Quel sera l'effet de a, b, c, d = foo?

Exercice 2

Écrire une fonction somme_produit(a, b) recevant deux valeurs (entières), et renvoyant leur somme et leur produit.

Exercice 3

Écrire une fonction liste_de_points(n) demandant à l'utilisateur les coordonnées de n points et les stockant dans une liste. Chaque point sera modélisé par un tuple (exemple (1,-5))

Exercice 4

def foo(bar):
    ''' 
    Parameters:
    bar (str): une chaine de caractère
    '''
    for var in bar:
        if var in "aeiouy":
            return True
    return False

Que fait cette fonction ?

Exercice 5

def foo(bar):
    ''' 
    Parameters:
    bar (list): une liste de listes
    '''
    for ligne in bar:
        for elem in ligne:
            if elem == 0:
                return True
    return False

Que fait cette fonction ?

Exercice 6

  1. Ecrire une fonction nbre_de_a(chaine) prenant en paramètre une chaine de caractères chaine et retournant le nombre de a.
  2. Ecrire une fonction nbre_de_carac(chaine,carac) prenant en paramètre une chaine de caractères chaine et une chaine d'un unique caractère carac et retournant le nombre de fois que carac apparait dans le chaine.
  3. Ecrire une fonction nbre_de_voyelles(chaine) prenant en paramètre une chaine de caractères chaine retournant le nombre de voyelles dans le chaine.

Exercice 7

Décrire les range suivant sur le modèle ci-dessous:

range(10) --> 0, 1, 2...., 9
  1. range(8)
  2. range(-5)
  3. range(3, 8)
  4. range(5, 4)
  5. range(3, 10, 2)
  6. range(3, 10, 20)

Exercice 8

Que retournent les phrases suivantes:

  1. [int(x) for x in ('1','29','3')]
  2. [int(x) for x in '2021']
  3. [int(x) for x in str(1998)]
  4. [c for c in 'bonjour' if c not in "aeiouy"]
  5. [i for i in range(10, 5, -1)]
  6. [i for i in range(10, 5, -3)]

Exercice 9

Que retournent les instructions suivantes:

  1. [ 1 for i in range(5)]
  2. [ i for i in range(5)]
  3. [ i + 1 for i in range(5)]
  4. [2 * i for i in range(5)]
  5. [i ** 2 for i in range(10) if i%2 == 0]
  6. [2 ** i for i in range(5)]

Exercice 10

Créer les listes suivantes:

  1. [1, 2, 3, 4, ..., 98, 99]
  2. [1, 3, 5, ..., 97, 99]
  3. [0, 3, 6, ..., 96, 99]
  4. [1, 0.5, 0.33333333, 0.25, 0.2, ...., 0.01 ]
  5. [1, -1, 1, -1, 1, ..., 1, -1] (de longueur 100)

Exercice 11

foo = [[1, 2, 3, 4],[5, 6, 7, 8],[9, 10, 11, 12],[13, 14, 15, 16]]

  1. Que retournera foo[3]? foo[3][0]? foo[0][3]?
  2. Comment sera la liste foo après l'éxécution de la ligne foo[2][1] = 5 ?

Exercice 12

  1. Créer une liste de listes grille correspondant à la grille suivante:

Grille logique Antimorpion

On représentera les cercles par le chiffre 0, les croix par le chiffre 1 et les cases vides par None.

  1. Quelle instruction écrire pour modifier le premier cercle en une croix ?
  2. Ecrire une fonction efface(grille)prenant en paramètre une grille carrée de taille 5 et la vidant.

Exercice 13

Ecrire une fonction somme(mat1, mat2) prenant en paramètre deux listes de listes de même taille et retournant une liste de liste de même taille ou chaque valeur est somme des valeurs de mat1 et mat2.

Voici une doctest correspondante.

>>> somme([[0,1],[1,0]],[[1,0],[0,1]])
[[1,1],[1,1]]
>>> somme([[0,1,2],[3,4,5]],[[1,1,1],[1,1,1]])
[[1,2,3],[4,5,6]]