Separation d'une chaine de caractere

etienne6919 -  
Cirdek Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour
j'aimeraissavoir s'il est possible de changer chaque caractere d'une chaine par une commande ?
par exemple , j'ai une chainede caractere = a++-+aa
je voudrais que a = file.write( pd() ; fd() )
+ = file.write ( right ( 60 ) )
etc ..
A voir également:

2 réponses

_Ritchi_ Messages postés 21333 Date d'inscription   Statut Contributeur Dernière intervention   6 104
 
Bonjour,

Tu crées un dictionnaire définissant pour chaque caractère sa valeur. avec l'exemple que tu as donné, voilà à quoi ressemblerait le début de ton dictionnaire:
mon_dico = {
'a': 'file.write( pd() ; fd() )' , 
'+': 'file.write ( right ( 60 ) )'
'-': 'fiel.read()'
}

Ensuite, pour chaque caractère de ta chaine, tu dis que tu veux prendre la valeur associée dans le dictionnaire.
Exemple:
# -*- coding: utf-8 -*-

def Traducteur(texte):
    resultat = ''
    for i in range(len(texte)):
        resultat += str(mon_dico[str(texte[i])])
    return resultat


mon_dico = \
    {
    'a': 'file.write( pd() ; fd() ) ' ,
    '+': 'file.write ( right ( 60 )) ',
    '-': 'file.read() '
    }
# exemple:
ma_chaine = 'a++-+aa'

traduction = Traducteur(ma_chaine)
print('La chaine:', ma_chaine, '\nsignifie :', traduction)


A toi de gérer les erreurs comme par exemple un caractère dans "ma_chaine" n'est pas défini dans "mon_dico"

Ritchi
0
Cirdek Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   15
 
Ou peut être plus simple:
for l in chaine:
      if l == "a":...
0