Separation d'une chaine de caractere

etienne6919 -  
Cirdek Messages postés 22 Statut Membre -
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 ..

2 réponses

  1. _Ritchi_ Messages postés 21130 Date d'inscription   Statut Contributeur Dernière intervention   6 135
     
    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
  2. Cirdek Messages postés 22 Statut Membre 15
     
    Ou peut être plus simple:
    for l in chaine:
          if l == "a":...
    0