Feuille d’exercices 3#
Objectifs
Compléments sur les listes
Ensembles et dictionnaires
Mot-clefs
alletany
Exercice 1 : listes par compréhension#
Question 1 : En utilisant une déclaration de liste par compréhension, écrire la liste des puissances de \(2\) comprises entre \(2^1\) et \(2^{20}\).
# Votre réponse ici
Question 2 : En utilisant une déclaration de liste par compréhension, donner la liste des caractères de la chaîne « Université Paris 8 Vincennes Saint-Denis » qui ne sont pas des espaces.
chaine = "Université Paris 8 Vincennes Saint-Denis"
# Votre réponse ici
Question 3 : En utilisant une déclaration de liste par compréhension, donner le nombre d’entiers compris entre \(1000\) et \(2000\), qui sont à la fois divisibles par \(2\) et \(7\).
# Votre réponse ici
Question 4 : En utilisant une déclaration de liste par compréhension, écrire une fonction diviseurs(n) qui retourne la liste des diviseurs d’un entier n.
# Votre réponse ici
Exercice 2 : mots-clefs any et all#
Un palindrome est un mot ou une phrase qui se lit identiquement dans les deux sens. Par exemple, les mots « radar », « kayak » ou « naan » sont des palindromes.
Question 1 : En utilisant le mot clef all, écrire une fonction est_palindrome(mot) qui teste si la chaîne de caractère mot est (ou non) un palindrome. Pour cela, on pourra utiliser le mot-clef all.
# Votre réponse ici
Question 2 : En utilisant le mot clef any, écrire une fonction contient_palindrome(L) qui prend en entrée une liste de chaînes de caractères L, et qui teste si au moins une de ces chaînes est un palindrome.
# Votre réponse ici
Exercice 3 : ensembles#
Question 1 : Écrire une fonction caracteres(texte) qui prend en entrée une chaîne de caractères texte, et qui retourne l’ensemble des caractères de la chaîne.
# Votre réponse ici
Exercice 4 : dictionnaires#
Question 1 : Écrire une fonction compte_caracteres(texte) qui prend en entrée une chaîne de caractères texte, et qui retourne le dictionnaire ayant :
pour clés les caractères de la chaîne
textepour valeur correspondant au caractère
c, le nombre de fois quecapparaît danstexte.
Par exemple, pour la chaîne « calcul », on obtient le dictionnaire { 'c': 2, 'a': 1, 'l': 2, 'u': 1}.
# Votre réponse ici
Exercice 5 : somme de puissances#
Question 1 : Créer une fonction liste_puissances(n, p) qui prend en entrée deux paramètres paramètres n et p, et qui retourne la liste des entiers de la forme \(x^p\), pour \(x\) compris entre \(1\) et \(n\). Par exemple, pour \(n = 4\) et \(p = 3\), on obtient la liste [1, 8, 27, 64]. Votre fonction devra utiliser une déclaration de liste par compréhension.
# Votre réponse ici
Question 2 : Créer une fonction récursive somme_liste(L) qui retourne la somme des éléments d’une liste L. Si la liste L est vide, la fonction doit retourner \(0\).
# Votre réponse ici
Question 3 : À l’aide du mot-clef all et des questions précédentes, vérifier que l’identité
est satisfaite pour les entiers \(n\) compris entre \(1\) et \(100\).
# Votre réponse ici
Exercice 6 : corriger des erreurs#
Question 1 : Dans la cellule suivante, une fonction a été écrite dnas le but d’inverser l’ordre des lettres d’un mot. Cette fonction contient plusieurs erreurs. Exécutez la cellule, puis observez ce qui est affiché. Essayez ensuite de corriger les erreurs pour obtenir le bon résultat.
def ma_fonction(mot)
renverse = ""
n = len(mot)
for i in range(1, n):
renverse = mot(i) + renverse
return renverse
ma_fonction("calcul")
Cell In[12], line 1
def ma_fonction(mot)
^
SyntaxError: expected ':'
Exercice 7 : doublon dans les listes#
Question 1 : Écrire une fonction doublon(L) qui prend en entrée une liste L, et qui teste si la liste L contient au moins deux fois le même élément.
# Votre réponse ici
Question 2 : Si ce n’est pas déjà fait, reprendre la question 1, en utilisant le mot-clef any, ainsi qu’une syntaxe par compréhension.
# Votre réponse ici