# TP 6 3.6.3 chiffrement def pos(c): o = ord(c) if ord('a') <= o <= ord('z'): i = o - ord('a') + 1 # la position de 'a' doit être 1 et pas 0 elif ord('A') <= o <= ord('Z'): i = o - ord('A') + 1 # la position de 'a' doit être 1 et pas 0 else: i = 0 # on choisit de retourner 0 si ce n'est pas une lettre de l'alphabet return i def code_w(w): res = None i = 0 while i < len(w): c = w[i] p = pos(c) if res == None: # premier caractère ajouté res = str(p) else: res = res + '+' + str(p) i += 1 return res def code(s): res = "" i = 0 # début d'un mot while i < len(s): # on cherche la fin d'un mot, c'est-à-dire le premier non-caractère j = i # fin d'un mot while j < len(s) and pos(s[j]) != 0: j +=1 # on code le mot trouvé res += code_w(s[i:j]) # on ajoute tous les non-caractères while j < len(s) and pos(s[j]) == 0: res += s[j] j += 1 # on repart de la fin des non-caractères i = j return res print(code("bonjour a tous!")) while True: text = input("Entrez un texte (texte vide pour finir) : ") if text == '': break print(code(text))