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   -
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 :
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:

3 réponses

alex59fr Messages postés 853 Date d'inscription   Statut Membre Dernière intervention   89
 
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

0
Pacorabanix Messages postés 3248 Date d'inscription   Statut Membre Dernière intervention   663
 
merci d'avoir pris la peine d'indiquer la solution que tu as trouvée.
bonne continuation.
0
alex59fr Messages postés 853 Date d'inscription   Statut Membre Dernière intervention   89 > Pacorabanix Messages postés 3248 Date d'inscription   Statut Membre Dernière intervention  
 
Pas de quoi, ça me fais plaisir quand j'arrive sur un forum pour un problème de voir que la personne donne sa solution :)

@+
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
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
~$ 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

0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
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+t
aussi
$ cat lettre.py 
#!/usr/bin/python
import re
chaine = 'salut'
resultat = re.sub('(?<=.)(?=.)',"+",chaine)
print resultat
$ ./lettre.py 
s+a+l+u+t

0