Examen Python
Examen Python
QCM /5pts
Produisez sur votre feuille de composition, un tableau dans lequel vous ferrez correspondre chaque question avec la/les réponses correctes. Chaque bonne correspondance vaut 0,5pt et chaque mauvaise correspondance vaut -0,25pt.
- Quelle sera la sortie de l'extrait de code suivant ? print(2**3 + (5 + 6)**(1 + 1))
M) 32 T) 129 Z) 8 G) 121
- Quel sera le type de données de la variable dans l'extrait de code ci-contre :
var = 10
print(type(var))
var = "Hello Math1"
print(type(var))
B) str et int E) int et int C) str et str I) int et str
- Quelle sera la sortie de l'extrait de code suivant ?
a = [1, 2, 3]
a = tuple(a)
a[0] = 2
print(a)
X) [2,2,3] W) (2,2,3) R) (1,2,3) M) Erreur
- Quelle sera la sortie de l'extrait de code suivant ? print(type(5 / 2)) print(type(5 // 2))
B) float et int C) int et float O) int et int P) Erreur
- Quelle sera la sortie de la fonction Python suivante ? print(len(["bonjour Math 1", 2, 4, 6]))
U) 6 E) 4 O) 3 I) Erreur
- Quelle est la valeur de l'expression suivante ? print(2+4.00, 2**4.0)
R) (6.0, 16.0) N) (6.00, 16.00) Y) (6, 16) C) (6.00, 16.0)
- Quelle est la valeur de l'expression suivante ? print(8/4/2, 8//(4/2))
L) 1.0 4.0 M) 1.0 1.0 N) 4.0 1.0 O) 4.0 4.0
- Supposons que t = (1, 2, 4, 3), laquelle des affirmations suivantes est incorrecte ?
I) print(t[3]) A) t[2] = 3 E) print(max(t)) O) print(len(t))
- Quelle sera la sortie de la fonction Python suivante ? print(min(max(False,-3,-4), 2,7))
O) -4 K) -3 E) 2 N) False M) True P) Erreur
- Quelle sera la sortie de l'expression Python suivante si x=56.236 ? print("%.2f"%x)
W) 56.236 S) 56.23 C) 56.0000 D) 56.24 V) Erreur
Exercice 2 : Le Nombre de Münchhausen / 4,5pts
Un nombre de Münchhausen est un nombre entier naturel qui, lorsqu'il est décomposé en ses chiffres, est égal à la somme de ces mêmes chiffres, chacun élevé à la puissance de lui-même. Pour ces calculs, nous acceptons que 0⁰ = 0.
n = dₖbᵏ + dₖ₋₁bᵏ⁻¹ + ⋯ + d₁b + d₀ = dₖᵈᵏ + dₖ₋₁ᵈᵏ⁻¹ + ⋯ + d₁ᵈ¹ + d₀ᵈ⁰
Par exemple, en base 10 : Le nombre 3435 est un nombre de Münchhausen, car : 3³ + 4⁴ + 3³ + 5⁵ = 27 + 256 + 27 + 3125 = 3435.
L'objectif est d'écrire un programme en PYTHON qui permet de vérifier si un nombre donné par l'utilisateur est un nombre de Münchhausen. Le programme doit utiliser uniquement des structures conditionnelles et/ou des boucles, mais une contrainte supplémentaire s'ajoute : vous devez utiliser une structure Ternaire (voir Td 01).
Problème : Manipulation des Listes en Python / 10,5pts
En programmation, les listes sont des structures de données couramment utilisées pour stocker des collections d'éléments. En Python, les listes sont particulièrement puissantes en raison de leur flexibilité et de la variété d'opérations que l'on peut effectuer sur elles. Dans cet exercice, vous allez manipuler une liste de pays d'Afrique en utilisant différentes techniques de découpage et de sélection d'éléments.
Partie A : Manipulation d'une Liste de Pays / 3,5pts
Nous avons la Liste Initiale : pays = ["Nigeria", "Égypte", "Afrique du Sud", "Kenya", "Ghana"]
- Quelle sera la sortie de pays[0:4] ?
- Quelle sera la sortie de pays[0:-3] ?
- Quelle sera la sortie de pays[-1:-4:-1] ?
- Quelle sera la sortie de pays[:] ?
- Donnez le bout de code pour ajouter le pays "Cameroun" dans la liste pays.
- Convertissez la liste pays en tuple et affichez le type.
- Utilisez range() pour créer une liste d'indices correspondant aux pays.
Partie B : Manipulation des Dictionnaires / 3,5pts
Créez un dictionnaire infos_pays où : Les clés sont les noms des pays de la liste pays et les valeurs sont des dictionnaires contenants : ("capitale" (str) ; "population" (en millions, float) et "langue" (liste des langues officielles).
Exemple : infos_pays = {
"Nigeria": {"capitale": "Abuja", "population": 218.5, "langue": ["Anglais"]},
"Égypte": {"capitale": "Le Caire", "population": 104.3, "langue": ["Arabe"]},
"Afrique du Sud": {"capitale": "Pretoria", "population": 59.3, "langue": ["Anglais"]},
"Ghana": {"capitale": "Accra", "population": 31.7, "langue": ["Anglais"]},
"Kenya": {"capitale": "Nairobi", "population": 53.8, "langue": ["Anglais"]},
"Sénégal": {"capitale": "Dakar", "population": 16.7, "langue": ["Wolof"]}
}
- Affichez la capitale du Nigeria.
- Ajoutez "Français" à la liste des langues du Sénégal.
- Affichez les pays dont la population dépasse 100 millions.
- Modifiez la population du Kenya à 55,7 millions.
- Affichez toutes les langues parlées en Afrique du Sud.
- Supprimez le Ghana du dictionnaire.
- Affichez le nombre de pays restants dans infos_pays.
Partie C : Manipulation des Listes d'entier en Python / 3,5pts
Nous avons la Liste Initiale : e = [83, 78, 100, -925, 0]
Questions : Donnez le code Python pour :
- Triez et affichez la liste.
- Ajoutez l'élément 300 à la liste et affichez la liste.
- Renversez et affichez la liste.
- Affichez l'indice de l'élément 0.
- Enlevez l'élément 83 et affichez la liste.
- Affichez la sous-liste du 2ème au 3ème élément.
- Affichez la sous-liste du début au 2ème élément.