###########################
#       Exercice 1        #
###########################

###########################
#       NIVEAU 1          #
###########################

ALPHABET='ABCDEFGHIJKLMNOPQRSTUVWXYZ'

def position_alphabet(ALPHABET,lettre):
    return ALPHABET.find(lettre)


def cesar(message, decalage):
    resultat = ''
    for ... in message :
        if ... in ALPHABET :
            indice = (... + decalage) % 26
            resultat = resultat + ALPHABET[...]
        else:
            resultat = resultat+lettre
    return resultat

'''
cesar("WJIEJPM V OJPN. QDQZ GV HVODZMZ IND !",5)
'''

###########################
#       NIVEAU 2          #
###########################

# Décrypter  le message suivant :
message="FJTA CDB EDGIT AP ITRWCXFJT FJT KDJH KTCTO S'JIXAXHTG ?"

###########################
#       NIVEAU 3          #
###########################

# Décrypter  le message suivant :
message="I'kyz vgy sgr. HXGBU !  Buay vuabkf vgyykx ga tobkga YAOBGTZ..."

ALPHABET1='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
ALPHABET2='abcdefghijklmnopkrstuvwxyz'

###########################
#       NIVEAU 4          #
###########################
# Le nouvel indice n'est plus un simple décalage mais il est obtenu
# de cette façon :
#
# La clé de chiffrement n'est pas un simple décalage mais 
# un couple de deux nombres a et b compris entre 1 et 26.
# On obtient le nouvel indice avec :
# indice = (position_alphabet(lettre)*a +b) %26


# Décrypter  le message suivant :
message='Qmnyd, ydvp gdvyzk gzvs-êsmz zaylpnfzm wz smnynluuzm za THQZMpétvmlsé.'

