Je me suis récemment mis au python. Une merveille. Syntaxe simple, tout coule de source par rapport au C.
Ma question de ce soir vise une chose curieuse que je viens de remarquer. J'essaie de faire l'exercice sur le pendu, du big tuto officiel. Je n'ai pas regardé la correction, aussi ce que je fais est peu être dégueulasse.
Voilà mon code (avec beaucoup des lignes superflues, pour le débugage):
#!/usr/bin/python
try:
from donnees import *
print("Importation du dictionnaire réussie")
except:
print("Problème avec l'importation du dictionnaire")
from random import randrange
print("Le jeu commence. Un mot est choisi au hasard dans le dico")
longueur = len(dico)
print(longueur)
print(dico[0])
print(dico[1])
mot = dico[randrange(len(dico))]
print(mot)
print("Longueur du mot:", len(mot))
affiche = str()
for lettre in mot:
affiche += '*'
print(affiche)
print("Longueur des étoiles:", len(affiche))
Le truc curieux, c'est quand je fais ça:
mot = dico[randrange(len(dico))]
J'aurais plutôt fait ça à la place:
mot = dico[randrange(len(dico)-1)]
Parce que quand je lance mon script, len(dico) me retourne 2 (je n'ai mis que deux mots dans le dico pour commencer). Donc la fonction randrange devrait me retourner soit 0, soit 1, soit 2. Et avec dico[2], je sors de la chaîne. Mais après des tests, je crois que c'est mot = dico[randrange(len(dico))] la bonne solution.
Pourriez vous m'expliquer pourquoi? À cause de la fonction randrange?
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.