Inserez signe entre chaque caractère
Résolu
alex59fr
Messages postés
853
Date d'inscription
Statut
Membre
Dernière intervention
-
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
Bonjour,
Je n'arrive pas à faire un exercice en python, sachant que je débute ...
Je dois en fait écrire un programme qui recopie une chaine de caractere en insérant le signe "+" entre chaque caractere ...
Par exemple "info" deviendra "i+n+f+o"
J'ai fait ceci pour le moment :
Mais le résultat est pas encore fameux !
Les caractère vont a la ligne, il y a des espaces en trop, et il y a un + a la dernière lettre ...
Pouvez vous m'aidez ?
Merci d'avance
Je n'arrive pas à faire un exercice en python, sachant que je débute ...
Je dois en fait écrire un programme qui recopie une chaine de caractere en insérant le signe "+" entre chaque caractere ...
Par exemple "info" deviendra "i+n+f+o"
J'ai fait ceci pour le moment :
mot=raw_input("Écrire une phrase : ") i=0 while (i<len(mot)): lettre=mot[i] i=i+1 print lettre,'+'
Mais le résultat est pas encore fameux !
Écrire une phrase : salut s + a + l + u + t +
Les caractère vont a la ligne, il y a des espaces en trop, et il y a un + a la dernière lettre ...
Pouvez vous m'aidez ?
Merci d'avance
A voir également:
- Ajouter un caractère dans une chaine python
- Caractère ascii - Guide
- Caractère spéciaux - Guide
- Caractere speciaux - Guide
- Chaine tnt gratuite sur mobile - Guide
- Caractere vide - Guide
3 réponses
Solution
mot=raw_input("Écrire une phrase : ") a="" for lettre in mot: #Pour chaque lettre de la variable mot a=a+lettre+'+' #Affecter la variable a[(numero de la lettre)] + lettre suivis d'un + print a[0:len(a)-1] #Afficher chaque lettre a compris entre 0 et len(a) sauf la dernière
Salut,
Je ne connais pas python mais je pense qu'une solution plus élégante sera d'utiliser les regex avec les tests avant/arrière, et il y a ça en python
Un exemple avec perl
ou même
Je ne connais pas python mais je pense qu'une solution plus élégante sera d'utiliser les regex avec les tests avant/arrière, et il y a ça en python
Un exemple avec perl
~$ echo info|perl -pe 's/(?<=\w)(?=\w)/+/g' i+n+f+o
ou même
~$ echo info|perl -pe 's/(?<=.)(?=.)/+/g' i+n+f+o
Re,
Entre temps j'ai cherché aussi en python les tests avant/arrière ;-)
Entre temps j'ai cherché aussi en python les tests avant/arrière ;-)
$ cat lettre.py #!/usr/bin/python import re chaine = 'salut' resultat = re.sub('(?<=\w)(?=\w)',"+",chaine) print resultat $ ./lettre.py s+a+l+u+taussi
$ cat lettre.py #!/usr/bin/python import re chaine = 'salut' resultat = re.sub('(?<=.)(?=.)',"+",chaine) print resultat $ ./lettre.py s+a+l+u+t
bonne continuation.
@+