# En parcourant la chaine caractère par caractère : chaine = raw_input('entrer une chaine ') for i in range(len(chaine)): # Note : dans votre code vous faisiez 'for i in chaine:'. i est alors de type str et non int donc chaine[i] va générer une erreur. # https://docs.python.org/3.4/library/functions.html#func-range if chaine[i] == 'a': chaine = chaine[:i] + 'b' + chaine[i+1:] print chaine elif chaine[i] == 'b': chaine = chaine[:i] + 'c' + chaine[i+1:] print chaine # Pareil mais en utilisant enumerate ( voir https://docs.python.org/3.4/library/functions.html#enumerate ) chaine = raw_input('entrer une chaine ') for i, char in chaine: if char == 'a': chaine = chaine[:i] + 'b' + chaine[i+1:] print chaine elif char == 'b': chaine = chaine[:i] + 'c' + chaine[i+1:] print chaine # En utilisant la méthode str.replace. A noter qu'ici, la chaine ne sera pas imprimée à chaque changement de lettre. chaine = raw_input('entrer une chaine ').replace("b", "c").replace("a", "b") print chaine
4 mai 2014 à 21:37