La variable scontient des chaˆınes de caract`eres. On peut concat´ener des chaˆınes avec
l’op´erateur +. La fonction pr´ed´efinie str permet de transformer un entier en chaˆıne de
caract`eres.
2. Modifiez le programme pr´ec´edent pour qu’il affiche le code en base 2 de l’entier saisi par
l’utilisateur. Sauvez ce nouveau programme sous le nom tp6code2.py
3. Faites en sorte que le programme fonctionne ´egalement pour n= 0.
4. Ecrivez la partie codage dans une fonction dont l’entˆete sera def code2(n) et qui renverra
une chaˆıne de caract`eres. Le programme aura donc la forme suivante :
def code2(n)
...
n= input(’Entrez un nombre : ’)
print code2(n)
Exercice I.3 (Coder un nombre en base b)
1. Que faut-il modifier dans le programme pr´ec´edent pour qu’il code un nombre en base 8 ?
2. Modifiez le programme pr´ec´edent pour qu’il code un nombre dans une base bcomprise entre
0 et 10. Le programme aura la forme suivante :
def codeb(n,b)
...
n= input(’Entrez un nombre : ’)
b= input(’Entrez une base : ’)
print codeb(n,b)
Exercice I.4 (Coder un nombre en base 16)
1. Dans l’interpr´eteur, ex´ecutez les commandes suivantes et commentez-les.
>>> ord(’A’)
65
>>> chr(65)
’A’
>>> chr(12-10+65)
’C’
La fonction pr´ed´efinie ord calcule le code ASCII d’un caract`ere et la fonction chr proc`ede
au calcul inverse.
2. Ecrivez une fonction chiffre16(n) qui prend en entr´ee un nombre compris entre 0 et 15 et
retourne le chiffre correspondant en base 16.
3. Ecrivez une fonction code16(n) qui code un nombre en base 16.
4. Ecrivez une fonction code1116(n,b) qui code un nombre ndans une base bcomprise entre
11 et 16.
5. Ecrivez une fonction qui code un nombre ndans une base bcomprise entre 2 et 16.
2