Question problème python déplacement

anonyme -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Je suis débutant et je cherche à écrire un programme où lorsque je demande un mot
word
et que l'on me répond par exemple
"sept"
, je prends la première lettre de
"sept"
et j'ajoute
"ay"
ce qui fait
"eptsay"
.

Sauf que dans mon code ça m'affiche
"septsay"
. Le problème et que la lettre est dupliqué au lieu d'être déplacer comment je peux faire pour la déplacer.

suite = 'ay'

original = raw_input('Enter a word:')

if len(original) > 0 and original.isalpha():
  word = original.lower()
  letter  = word[0]
  new_word = word + letter + suite
  print new_word
else:
    print 'Ce n'est pas un mot'


Merci de votre aide ;-)

3 réponses

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour,
    moi, au lieu de déplacer la lettre, je la retirerais du début du mot.
    0
  2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    Bonjour,

    Pour compléter les réponses qui ont déjà été données, il faut bien comprendre que :

    letter = word[0]


    ... ne fait que copier le premier caractère de
    word
    dans
    letter
    . Donc suite à cette opération,
    word
    contient toujours
    "sept"
    .

    La solution de jee pee te permet d'extraire le suffixe à partir du caractère 1 inclu (sachant qu'ils sont indexés à partir de 0) et donc de récupérer le contenu de
    word
    sans le premier caractère.

    suffix = word[1:]
    print(suffix)


    Attention aussi, si tu entoures ta chaînes avec des apostrophe, il faut échapper l'apostrophe, où utiliser des guillemets. Par ailleurs à partir de python 3,
    print
    est une fonction donc il faut mettre les parenthèses :

    print("Ce n'est pas un mot")
    print('Ce n\'est pas un mot')


    Bonne chance
    0