Question problème python déplacement

Fermé
anonyme - Modifié le 22 mars 2022 à 16:49
mamiemando Messages postés 33433 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 décembre 2024 - 22 mars 2022 à 16:46
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

yg_be Messages postés 23399 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 décembre 2024 Ambassadeur 1 556
21 mars 2022 à 23:13
bonjour,
moi, au lieu de déplacer la lettre, je la retirerais du début du mot.
0
jee pee Messages postés 40559 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 17 décembre 2024 9 459
22 mars 2022 à 09:48
Bonjour,

Le mot étant un tableau de caractères, il peut être découpé, voir : https://www.digitalocean.com/community/tutorials/how-to-index-and-slice-strings-in-python-3-fr

word[1:] 
te donnes le mot à partir du second caractère
0
mamiemando Messages postés 33433 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 décembre 2024 7 809
Modifié le 22 mars 2022 à 16:50
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