Inserez signe entre chaque caractère

Résolu/Fermé
alex59fr Messages postés 852 Date d'inscription mercredi 25 novembre 2009 Statut Membre Dernière intervention 12 mai 2016 - 23 févr. 2010 à 16:01
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 23 févr. 2010 à 21:44
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 852 Date d'inscription mercredi 25 novembre 2009 Statut Membre Dernière intervention 12 mai 2016 89
23 févr. 2010 à 17:17
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 jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 660
23 févr. 2010 à 17:31
merci d'avoir pris la peine d'indiquer la solution que tu as trouvée.
bonne continuation.
0
alex59fr Messages postés 852 Date d'inscription mercredi 25 novembre 2009 Statut Membre Dernière intervention 12 mai 2016 89 > Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013
23 févr. 2010 à 20:57
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 jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
23 févr. 2010 à 21:41
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 jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
23 févr. 2010 à 21:44
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