Inserez signe entre chaque caractère
Résolu
alex59fr
Messages postés
978
Statut
Membre
-
lami20j Messages postés 21506 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21506 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
--
un esprit libre est un miroir, on prefere le voir à genoux ...
Configuration : Linux - Ubuntu 9.10 Karmic Koala
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
--
un esprit libre est un miroir, on prefere le voir à genoux ...
Configuration : Linux - Ubuntu 9.10 Karmic Koala
Configuration: Linux : Ubuntu 9.10 Karmic Koala CPU 2,40 GHZ 4G0 DDR3 Nvidia GTX 260 M
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~$ 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 ;-)$ 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