#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Mon Nov 28 17:18:44 2022 @author: fjunier """ def indice(caractere): "Renvoie l'indice de caractere qui doit être une majuscule" return ord(caractere) - ord('A') def majuscule(i): """Renvoie la majuscule d'indice donnée majuscule(0) renvoie 'A' majuscule(25) renvoie 'Z' """ return chr(ord('A') + i) def cesar(message, decalage): resultat = '' for caractere in message: if 'A' <= caractere <= 'Z4': i = indice(caractere) i = (i + decalage) % 26 resultat += majuscule(i) else: resultat += caractere return resultat # tests assert cesar('HELLO WORLD!', 5) == 'MJQQT BTWQI!' assert cesar('MJQQT BTWQI!', -5) == 'HELLO WORLD!' assert cesar('BONJOUR LE MONDE !', 23) == 'YLKGLRO IB JLKAB !' assert cesar('YLKGLRO IB JLKAB !', -23) == 'BONJOUR LE MONDE !' s