[Python] Question : opération sur une chaine

[Fermé]
Signaler
Messages postés
16
Date d'inscription
dimanche 23 septembre 2007
Statut
Membre
Dernière intervention
15 septembre 2011
-
Messages postés
506
Date d'inscription
mercredi 20 février 2008
Statut
Membre
Dernière intervention
14 mai 2011
-
Bonjour à tous,

Je planche sur une fonction qui me permettrait de supprimer certaines voyelles (et semi voyelles ou consonnes muettes) d'une chaine de caractères, puis de convertir les lettres restantes en chiffres (mais c'est pas pour tout de suite ^^).

Mon problème est le suivant :

Voici ma fonction :
def voyelles(chaine):
bib1=["AEIOUYWH"]
bib2=[""]
i=0
for mot in bib1:
repl=bib2[i]
for lettre in mot:
chaine=chaine.replace(lettre,repl)
i+=1
return chaine

J'aimerais faire en sorte qu'elle ignore la première lettre de la chaine et la conserve même si c'est une voyelle !

Mais je n'y arrive pas :(

Si je rajoute par exemple un for lettre in mot[1:]:
Ca marche et garde le second caractère meme si c'est une voyelle mais le [0:] (pour faire a partir du second caractère et laisser le premier de coté) au même endroit ne fonctionne pas et je ne comprends pas pourquoi.

Merci d'avance pour votre aide !
A voir également:

2 réponses

Messages postés
506
Date d'inscription
mercredi 20 février 2008
Statut
Membre
Dernière intervention
14 mai 2011
59
def voy(chaine):
    bib1 = "aeiouywh"
    tmp = chaine[1:]
    for letter in bib1:
            tmp = tmp.replace(letter, '')
    return chaine[0]+tmp

3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42584 internautes nous ont dit merci ce mois-ci

Messages postés
827
Date d'inscription
lundi 1 mai 2006
Statut
Contributeur
Dernière intervention
13 septembre 2013
67
Salut,

une solution consisterait à créer une variable "resultat" et d'y affecter la première lettre de 'chaine'. Ensuite à l'aide d'une boucle for, commençant à la deuxième lettre de 'chaine' ([1:] comme tu l'a suggéré) ajouter à 'resultat' toutes les lettres qui ne sont pas contenues dans ta variable 'bib1'.