Python TD 1
Python TD 1
Python TD 1
1) 4 // 5 * 3 + 2 ** 3
2) 4 // 5 * (3 + 2) ** 3
3) 2 == 1 + 1
4) 2 == 1 + 1 + 1
5) (2 == 1 + 1 + 1) and (2 == 1 + 1)
6) 2 == 1 + 1 + 1 or 2 == 1 + 1
7) 1 == 0 // 0
8) (not (0 == 0)) and 1 == 0 // 0
1. Si 𝑛 est un entier, que représente, au niveau des chiffres, le résultat des opérations n//10 et n%10 ?
2. Quelle opération permet de savoir si un entier 𝑛 est un multiple d’un entier 𝑑 ?
3. Quelle opération arithmétique permet de savoir si un entier 𝑛 est pair ?
4. Et si on remplace 10 par 2 à la question 1 ?
5. Comment l’entier 2021 s’écrit-il en binaire ?
6. Quel est l’entier dont l’écriture en binaire est 11011102 ?
1/2
Programmation impérative en Python TD 1 L1 — Université Côte d’Azur
1. Écrivez une fonction max_abs(x,y) qui renvoie le nombre le plus grand en valeur absolue. Par exemple on a
max_abs(2,-3) == -3. Si les deux nombres ont la même valeur absolue mais pas le même signe, la fonction
renverra celui qui est positif. Par exemple, max_abs(3,-3) == 3.
2. Modifier la fonction précédente en une fonction print_max_abs(x,y,msg) sans résultat qui affiche le message
msg suivi du plus grand en valeur absolue. Par exemple, dans le shell, on aura :
1 >>> s = 'le plus grand en valeur absolue est'
2 >>> print_max_abs(1,-3,s)
3 le plus grand en valeur absolue est -3
3. Écrivez la fonction print_max_abs en une seule ligne en appelant la fonction max_abs.
Écrivez une fonction hconv(n) prenant un entier 𝑛 > 0 représentant un nombre de secondes. L’effet de cette fonction
sans résultat est l’affichage d’une ligne exprimant la conversion de 𝑛 secondes en heures-minutes-secondes. Exemple :
1 >>> hconv(4567)
2 4567 –> 1 heure(s) 16 minute(s) 7 seconde(s)
1 def spy() :
2 print('My name is')
3 # Bond, James Bond
4 return 0 + 0 + 7
Qu’affiche le toplevel si l’on saisit les expressions suivantes ? Expliquez.
1) spy()
2) spy
3) spy() + spy()
4) max(spy() , spy())
5) spy() == 7 or spy() == 'My name is'
6) print(spy())
7) print(print(spy()))
2/2