La leçon :
Le tp :
Groupe 14h-16h :
lien pour correction en collaboratif
https://py3.codeskulptor.org/#user305_WGiN1ZKHDs_0.py
code session : -MNNaq1mo-hBTKyf8V1s
Groupe 16h-18h :
lien pour correction en collaboratif
https://py3.codeskulptor.org/#user305_DjAAGg92lO7xM34.py
code session : join avec -MNNagPt80q1XiVQd6ku
Une vidéo :
Proposition de correction :
def conversion_minuscules(texte):
'''
convertit les lettres majuscules d'un texte en minuscules
texte : str
return : str
>>> a="M Laignel, 59000 Lille."
>>> conversion_minuscules(a)
"m laignel, 59000 lille."
'''
texte_retour=""
for lettre in texte:
ordre_lettre=ord(lettre)
if ( 65 <= ordre_lettre <= 90 ):
texte_retour+=chr(ordre_lettre + 32 )
else :
texte_retour+=chr(ordre_lettre)
return texte_retour
def conversion_majuscules(texte):
'''
convertit les lettres majuscules d'un texte en minuscules
texte : str
return : str
>>> a="M Laignel, 59000 Lille."
>>> conversion_majuscules(a)
"M LAIGNEL, 59000 LILLE."
'''
texte_retour=""
for lettre in texte:
ordre_lettre=ord(lettre)
if ( "a" <= lettre <= "z" ):
texte_retour+=chr(ordre_lettre - 32 )
else :
texte_retour+=lettre
return texte_retour
def mdp_secure(mot):
'''
détermine si un texte contient au moins des minuscules, des majuscules,
des chiffres et un caractère spécial
return : True ou False
>>> mdp_secure("TOto12@")
False
>>> mdp_secure("TOto12@fr")
True
>>> mdp_secure("toto12&")
False
'''
minus=False
maj=False
chiffres=False
special=False
longueur=False
for lettre in mot:
if ("A"<=lettre<="Z"):
maj=True
if ("a"<=lettre<="z"):
minus=True
if ("0"<=lettre<="9"):
chiffres=True
if not("A"<=lettre<="Z") and not("a"<=lettre<="z") and not("0"<=lettre<="9"):
special=True
if len(mot)>=8:
longueur=True
if maj==minus==chiffres==special==longueur==True:
return True
return False
def codage_cesar(texte,cle):
'''
code un texte selon la méthode de décalage des caractères
texte :str
cle : int
>>> codage_cesar("Cesar",2)
'Eguct'
'''
texte_code=""
for caract in texte:
ordre=ord(caract)
texte_code+=chr(ordre+cle)
return texte_code
Travail à faire pour le prochain tp :
– écrire un programme en python permettant de lire un fichier .txt,
– de le coder selon la méthode de César,
– d’enregistrer le texte codé sous la forme d’un autre fichier .txt,
– ajouter une fonction permettant de décoder un texte en connaissant sa clé.