CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Besoin d'aide python

onizukhey42
onizukhey42
Niveau 3
20 décembre 2020 à 19:47:48

Salut, je viens de commencer mon apprentissage du python et je me retrouve face à une erreur de syntaxe alors qu'il ne me semble pourtant pas en avoir.
L'intitulé de l'exercice est : "Écrivez un script qui recopie une chaîne (dans une nouvelle variable) en l’inversant.
Ainsi par exemple, « zorglub » deviendra « bulgroz »."
Je vous met un screen pour bien comprendre.
https://image.noelshack.com/fichiers/2020/51/7/1608489331-syntaxerror.png

Comme vous pouvez le voir l'erreur se situe à ma dernière ligne, je ne sais pas comment faire...
J'attends vos réponses avec impatience

HosterThePepe
HosterThePepe
Niveau 6
20 décembre 2020 à 21:14:51

La condition de sortie de ton while est incorrecte, i sera toujours supérieur à 0, donc c'est une boucle infinie.

cybevil
cybevil
Niveau 27
20 décembre 2020 à 22:04:15

Tu devrais plutôt partir sur un for déjà, un while n'est pas très approprié.

Tu as juste à faire une boucle i allant de len(ch) jusqu'à 0 (-1 pour coller à l'indice) et tu copie dans une variable.

Comme ceci :

ch = "lexa"
reverse = ""
for i in range(len(ch)-1, -1, -1):
        reverse += ch[i]
print(reverse)

Dans le range tu as d'abord :
- D'où tu démarre donc "len(ch)-1" vaut 3,
- Jusqu'à -1 non compris donc 0,
- Puis tu précise que tu avances en décrémentant donc tu dois préciser -1 en dernier argument.

Arthfael
Arthfael
Niveau 24
21 décembre 2020 à 00:18:12

Tu peux aussi faire ch[::-1]

Semailles
Semailles
Niveau 10
21 décembre 2020 à 12:11:07

Le 21 décembre 2020 à 00:18:12 Arthfael a écrit :
Tu peux aussi faire ch[::-1]

Le genre de truc qui met en colère tous les profs qui essaient d'apprendre l'algo aux élèves :rire:

Azerban
Azerban
Niveau 16
21 décembre 2020 à 13:42:00

T'as aussi la méthode avec reversed:

def reverse(word):
    return "".join(reversed(word))

reverse("Hello World!")

Retourne:

'!dlroW olleH'
Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment