Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 07/09/2007, à 14:27

Damiens

Debutant en python

je suis un syllabus et voici un des exercices que je dois faire :

5.8. Écrivez un script qui recopie une chaîne (dans une nouvelle variable), en insérant des
     astérisques entre les caractères.
     Ainsi par exemple, « gaston » devra devenir « g*a*s*t*o*n »

voici mon code :

ch = "gaston"
chFinal = ""
compteur = 0
indice = 0
while compteur < len(ch) :
  chFinal[indice] = ch[compteur]
  indice = indice + 1
  if (indice != (2 * len(ch))) : #pour ne pas insérer d'astérisque après la dernière lettre
    chFinal[indice] = "*"
    indice = indice + 1
  compteur = compteur + 1
print ch,chFinal

et voici l'erreur que j'obtiens :

Traceback (most recent call last):
  File "Chap5_Ex8.py", line 7, in <module>
    chFinal[indice] = ch[compteur]
TypeError: 'str' object does not support item assignment

Pourriez-vous m'aider svp ?

Hors ligne

#2 Le 07/09/2007, à 15:14

neeux

Re : Debutant en python

Tu te compliques un peu la vie wink

ch = "gaston"
chFinal = ""
compteur = 0

while compteur < len(ch)-1:
  chFinal = chFinal + ch[compteur] + "*"
  compteur = compteur + 1
chFinal = chFinal + ch[len(ch)-1]
print chFinal

Bon courage big_smile

Hors ligne

#3 Le 07/09/2007, à 15:23

Damiens

Re : Debutant en python

Merci, c'est tjs ce qu'on m'a dit ... C'etait une bonne idée de passer par la concaténation !

Hors ligne

#4 Le 07/09/2007, à 15:25

HymnToLife

Re : Debutant en python

>>> s = 'gaston'
>>> print '*'.join(s)
g*a*s*t*o*n

- Rodrigue, as-tu du cœur ?
- Non, mais j'ai du pique !

Hors ligne

#5 Le 07/09/2007, à 15:32

neeux

Re : Debutant en python

lol
Qui dit mieux ?
print "g*a*s*t*o*n" ???? tongue
Je la connaissait pas celle là....

Dernière modification par neeux (Le 07/09/2007, à 15:34)

Hors ligne

#6 Le 10/09/2007, à 08:49

orlan

Re : Debutant en python

et voici l'erreur que j'obtiens :


Traceback (most recent call last):
  File "Chap5_Ex8.py", line 7, in <module>
    chFinal[indice] = ch[compteur]
TypeError: 'str' object does not support item assignment

Ton message d'erreur vient du fait que tu assignes une nouvelle valeur à un caractère d'une chaîne, alors qu'une chaîne est assimilée à une séquence non modifiable : pas de caractères d'une chaîne ou de tranche de chaîne à gauche d'un opérateur d'assignation, contrairement à une liste.

Hors ligne