#Exercice 1
dossards={1:"Lovelace",2:"Turing",3:"Church"}
temps={"Turing":53,"Lovelace":45,"Church":48}
def fonction1(dossards,temps):
'''
>>>associe le numero de dossard au temps
sous la forme d'un dictionnaire
>>>fonction1(dossards,temps)
{1:45,2:53,3:48}
'''
# exercice 2
alphabet="ABCDEFGHIJKLMNOPQRSTUVWXYZ "
def creation_cle(alphabet):
'''
associe à chaque lettre une et une seule
lettre tirée au hasard dans l'aphabet donné
renvoie la reponse sous la forme d'un dictionnaire
>>>creation_cle(alphabet)
{"A":"Q","B":Z,.............," ":E}
'''
def codage(texte,cle):
'''
code un texte en remplaçant chaque caractère
par le caractère correspondant dans la cle, espace
compris. Le texte est en majuscule sans accentuation
'''
def decodage(texte,cle):
'''
decode un texte en remplaçant chaque caractère
par le caractère correspondant dans la cle, espace
compris. Le texte est en majuscule sans accentuation
'''
# exercice 3
def occurence(texte):
'''
>>>occurence("Nsi c'est cool")
{"N":1,"s":2,"i":1," ":2........."o":2,"l":1}
'''
def frequence(texte):
'''
>>>"Nsi c'est cool"
{"N":0.0714285714285714..........}
'''
proposition correction
#Exercice 1
dossards={1:"Lovelace",2:"Turing",3:"Church"}
temps={"Turing":53,"Lovelace":45,"Church":48}
def fonction1(dossards,temps):
'''
>>>associe le numero de dossard au temps
sous la forme d'un dictionnaire
>>>fonction1(dossards,temps)
{1:45,2:53,3:48}
'''
retour={}
for numero in dossards:
retour[numero]=temps[dossards[numero]]
return retour
# exercice 2
alphabet="ABCDEFGHIJKLMNOPQRSTUVWXYZ "
from random import *
def creation_cle(alphabet):
'''
associe à chaque lettre une et une seule
lettre tirée au hasard dans l'aphabet donné
renvoie la reponse sous la forme d'un dictionnaire
>>>creation_cle(alphabet)
{"A":"Q","B":"Z",.............," ":"E"}
'''
alphabet2=alphabet
retour={}
for caract in alphabet:
ind=randint(0,len(alphabet2)-1)
val_hasard=alphabet2[ind]
alphabet2=alphabet2[:ind]+alphabet2[ind+1:]
retour[caract]=val_hasard
return retour
cle=creation_cle(alphabet)
def codage(texte,cle):
'''
code un texte en remplaçant chaque caractère
par le caractère correspondant dans la cle, espace
compris. Le texte est en majuscule sans accentuation
'''
retour=""
for carac in texte:
retour+=cle[carac]
return retour
def decodage(texte,cle):
'''
decode un texte en remplaçant chaque caractère
par le caractère correspondant dans la cle, espace
compris. Le texte est en majuscule sans accentuation
'''
retour=""
for car in texte:
for c in cle:
if cle[c]==car:
retour+=c
return retour
# exercice 3
def occurence(texte):
'''
>>>occurence("Nsi c'est cool")
{"N":1,"s":2,"i":1," ":2........."o":2,"l":1}
'''
retour={}
for caract in texte:
if caract in retour:
retour[caract]+=1
else:
retour[caract]=1
return retour
def frequence(texte):
'''
>>>frequence("Nsi c'est cool")
{"N":0.0714285714285714..........}
'''
retour=occurence(texte)
for key in retour:
retour[key]=retour[key]/len(texte)
return retour
# exo 4
def inverse_dico(dict):
'''
>>>dict={"A":3,"B":5}
>>>inverse_dico(dict)
{3:"A",5:"B"}
'''
retour={}
for cle in dict:
retour[dict[cle]]=cle
return retour