ChiffrementEnPython.pdf
(
90 KB
)
Pobierz
Le¸ons de programmation en Python - I
c
Chiffrement en Python
Emmanuel MORAND
(http://www.emmanuelmorand.net)
11 janvier 2008
Ce document a pour objectif de permettre la d´couverte du langage de programmation
e
Python et de sa tr`s grande efficacit´. Les diff´rentes le¸ons consistent en l’´laboration de pro-
e
e
e
c
e
grammes de chiffrement (algorithme ROT13, algorithme de Vigen`re...) et s’enchaˆ
e
ınent de ma-
ni`re progressive.
e
1/17
Le¸ons de programmation en Python - I
c
Chiffrement en Python
Installation de l’environnement de travail IDLE de Python
Mots-Cl´s.
print, lower, upper
e
La premi`re chose ` faire est de t´l´charger (gratuitement) la derni`re version de Python sur
e
a
ee
e
le site http ://python.org, de l’installer puis de lancer l’environnement de travail int´gr´ IDLE.
e e
Une fenˆtre nomm´e Python Shell apparait alors ` l’´cran, c’est la fenˆtre de l’interpr´teur
e
e
a e
e
e
dont le rˆle est d’ex´cuter les commandes Python entr´es par l’utilisateur. Chaque commande
o
e
e
Python doit ˆtre tap´e ` la suite du prompt
> > >
et s’ex´cute apr`s la frappe de la touche
e
e a
e
e
Entr´e.
e
Premi`res commandes Python
e
Python peut effectuer des calculs :
>>> 3+5*2
13
Python peut afficher du texte :
>>> print ’Bonjour !’
Bonjour !
Python permet de d´finir des variables et de les utiliser dans des calculs :
e
>>> a=1
>>> b=2
>>> a+b
3
>>> c=’Monty’
>>> d=’Python’
>>> c+d
’MontyPython’
Python est un langage de haut niveau, il contient donc des m´thodes ´volu´es :
e
e
e
>>> e=’The Meaning of Life’
>>> e.lower()
’the meaning of life’
>>> e.upper()
’THE MEANING OF LIFE’
2/17
Le¸ons de programmation en Python - I
c
Chiffrement en Python
Le¸on 0
c
L’objectif de cette le¸on est de cr´er un premier programme Python.
c
e
Mots-Cl´s.
print, raw input
e
Il est possible d’ex´cuter d’un bloc plusieurs commandes en les regroupant dans un fichier
e
programme. Commen¸ons par cr´er un fichier programme ` l’aide de la commande du Menu
c
e
a
Fichier nomm´e New Window, une nouvelle fenˆtre sans prompt apparait, taper ` l’int´rieur le
e
e
a
e
texte ci-dessous :
# entree du prenom de l’utilisateur
prenom=raw_input(’Quel est votre prenom ?\n’)
# affichage du message de salutation
print ’Bonjour ’+prenom+’ !’
# fermeture du programme
raw_input(’Fin du programme’)
Ensuite vous devez sauvegarder le programme sous le nom prog0.py par exemple puis l’ex´-
e
cuter avec le Menu Run et la commande Run Module. Une autre fa¸on d’ex´cuter le programme
c
e
est de double-cliquer sur le fichier prog0.py (` condition que l’extension .py soit associ´e au lo-
a
e
giciel python.exe), les entr´es et sorties s’effectuant alors au moyen de la console Windows,
e
remarquons ` ce propos le rˆle de la derni`re instruction du programme qui est d’´viter la fer-
a
o
e
e
meture pr´matur´e de cette derni`re.
e
e
e
Une bonne habitude est de commenter ses programmes (un commentaire en Python s’´crit
e
au moyen du signe di`se) et de donner des noms explicites aux variables.
e
Le programme ci-dessus fait intervenir la commande raw input qui permet de faire entrer
un texte ` l’utilisateur et la commande print qui permet elle d’afficher du texte, notons ` ce
a
a
sujet l’utilisation de la commande
\n
qui permet d’effectuer un saut de ligne.
Il est prudent dans un premier temps d’´viter de taper dans les programmes des caract`res
e
e
accentu´s ceux-ci n’´tant pas reconnus sans d´finition pr´alable de l’alphabet correspondant.
e
e
e
e
3/17
Le¸ons de programmation en Python - I
c
Chiffrement en Python
Le¸on 1
c
L’objectif de cette le¸on est de construire un programme qui pour l’entr´e d’une quelconque
c
e
des 26 lettres de l’alphabet
a, b, c, . . . , x, y, z
renvoie son rang sous la forme 0, 1, 2,
. . . ,
23, 24, 25 .
Mots-Cl´s.
ord, chr, int, str
e
Exemples
Voici quelques fonctions Python pouvant ˆtre utiles pour ce programme :
e
– La fonction ord qui renvoie le code num´rique d’un caract`re (code ascii) :
e
e
>>> ord(’g’)
103
– La fonction chr qui renvoie le caract`re associ´ ` un code ascii :
e
ea
>>> chr(115)
’s’
– La fonction int qui permet de convertir une chaine de caract`res en un nombre entier :
e
>>> int(’225’)
225
– La fonction str qui permet de convertir un entier en chaine de caract`res :
e
>>> str(118)
’118’
Exercice
R´aliser un programme de codage nomm´ prog1.py permettant de renvoyer le rang sous
e
e
la forme 0, 1, 2,
. . . ,
23, 24, 25 d’une quelconque des 26 lettres de l’alphabet
a, b, c, . . . , x, y, z
,
puis r´aliser le programme de d´codage nomm´ prog1bis.py permettant de r´aliser l’op´ration
e
e
e
e
e
r´ciproque.
e
Indications : apr`s avoir rep´r´ les codes ascii correspondant aux 26 lettres de l’alphabet on
e
ee
pourra au moyen d’une op´ration simple se ramener ` un nombre compris entre 0 et 25.
e
a
4/17
Le¸ons de programmation en Python - I
c
Chiffrement en Python
Le¸on 2
c
L’objectif de cette le¸on est de cr´er un programme permettant de d´tecter si un caract`re
c
e
e
e
fait partie ou pas de l’alphabet minuscule.
Mots-Cl´s.
len, if, else
e
Exemple
Testez la commande suivante qui permet de d´terminer si la phrase ’BRING OUT YOUR
e
DEAD’ comporte plus ou moins de 17 caract`res :
e
>>> if (len(’BRING OUT YOUR DEAD’)<17):
print ’La phrase \’BRING OUT YOUR DEAD\’ comporte moins de 17 caract`res’
e
else:
print ’La phrase \’BRING OUT YOUR DEAD\’ comporte plus de 17 caract`res’
e
Cette commande utilise :
– La fonction len qui renvoie la longueur d’une chaine de caract`res :
e
>>> len(’anticonstitutionnellement’)
25
– L’instruction if qui permet d’ex´cuter une instruction si une condition donn´e est v´rifi´e,
e
e
e e
a
` noter que l’instruction doit ˆtre indent´e !
e
e
– L’instruction else qui permet d’ex´cuter une instruction alternative si la condition de
e
l’instruction if n’est pas v´rifi´e, ` noter que l’instruction alternative doit ˆtre indent´e !
e e a
e
e
– La commande
\’
qui est n´cessaire pour ´crire un guillemet dans une chaine de caract`res,
e
e
e
elle permet d’´viter la confusion avec les guillemets d´limiteurs.
e
e
Exercice
R´aliser un programme nomm´ prog2.py qui permet de d´tecter si un caract`re entr´ par
e
e
e
e
e
l’utilisateur fait partie ou pas de l’alphabet minuscule.
Indications : op´rateurs de comparaison en Python
e
x==y
x !=y
x<y
x>y
x<=y
x>=y
x
x
x
x
x
x
est
est
est
est
est
est
´gal `
y
e
a
diff´rent de
y
e
strictement inf´rieur `
y
e
a
strictement sup´rieur `
y
e
a
inf´rieur ou ´gal `
y
e
e
a
sup´rieur ou ´gal `
y
e
e
a
5/17
Plik z chomika:
musli_com
Inne pliki z tego folderu:
A Learner's Guide to Programming Using the Python Language (2009).pdf
(17233 KB)
Beginning Python (2005).pdf
(17909 KB)
apprenez_a_programmer_en_python.pdf
(13106 KB)
A Primer on Scientific Programming with Python (4th ed.) [Langtangen 2014-08-02].pdf
(7148 KB)
A Primer on Scientific Programming with Python (3rd ed.) [Langtangen 2012-07-04].pdf
(5392 KB)
Inne foldery tego chomika:
3D Design - Programming
ActionScript
Actionscript - Flash - Flex - Air
Ada
ADO
Zgłoś jeśli
naruszono regulamin