Voila les gars, j'suis nouveau sous python, et j'essaye de me débrouiller au max, alors pour m'entrainer j'essaye des scripts "traditionels" pour moi même. J'ai décidé de faire un pendu qui apparaitrait sous cette forme : Chances : | | | | | | <==== nombre de chances choisi par l'utili Or**t*ory*q*e <==== le mot avec les lettres trouvés et le reste caché par les étoiles (a–l–p–m) <==== les lettres utilisés et incorrectes
J'aimerai aussi que les chances se décomptent à l'affichage. Mon problème est que les mauvais mot sont affiché aux nombres de lettre du mot à deviner..
Voici mon script, je beug complétement et ne sais plus quoi faire
#!/usr/bin/env python # -*- coding: utf-8 -*- #Nicolas from random import randrange listemot = ["fromage","alambique","casserole","programme","television","logiciel","avion","gourmandise"\ ,"telechargement","illegalite","instrument","tondeuse","ordinateur","programmation","technologie",\ "diffusion","estampage","navigation","hasardeux","fondations","artistique","utilisation","imbuvable",\ "legume","innovation","constitution","iconique","evidence","invitation","cavite","lampadaire","limonade"\ ,"bouteille","concours","culture","psychologie","cardiologue","pharmaceutique","laboratoire","scolaire"\ ,"rasoir","medicament","perfusion","pansement","forage","aiguille","costume","danser","contemporain"\ ,"mondialisation","environnement","ombrelle","vetement","sentiment","congelateur","spatule","chandelier"\ ,"bateau","commandant","paquerette","coquelicot","robinetterie","armoiries","boutique","fantome","plaisanterie"\ ,"ironique","electricite","ingenieur","infirmiere","informatique","biologie","citoyennete","chaussette","confiseries"\ ,"glacier","bistrot","opticien","elegant","aquatique","piscine","romantique","antiquite","automobile","italienne"] etoile = "*" devine = [] cpt2 = randrange(len(listemot)) lench = len(listemot[cpt2]) mot = listemot[cpt2] compt = 0 while compt < lench: devine.append(etoile) compt+=1 quest = raw_input("Choisir le niveau 5, 10 ou 15 : " ) cpt = 0 if quest == "5": cpt = 5 elif quest == "10": cpt = 10 else: cpt = 15 lvl = "|"*cpt print "Chances : %s" % (lvl) u = len(devine)*"*" print u print mot cpt3 = 0 bonlettre = [] mauvlettre = [] u = len(devine) while cpt3 < cpt: lettre = raw_input("Entrez une lettre : " ) cpt4 = 0 while cpt4 < u: if lettre == mot[cpt4]: bonlettre.append(mot[cpt4]) print bonlettre else: mauvlettre.append(lettre) print mauvlettre cpt4+=1 cpt3+=1 if bonlettre == mot: print "Félicitation, tu as trouvé le nombre " else: print "Perdu "
Je sais que cela est possible avec des fonctions, mais j'aimerais rester dans cette structure, je verrai les fonctions plutard Merci d'avance. Nicolas
Marsh Posté le 26-04-2010 à 19:16:05
Voila les gars, j'suis nouveau sous python, et j'essaye de me débrouiller au max, alors pour m'entrainer j'essaye des scripts "traditionels" pour moi même.
J'ai décidé de faire un pendu qui apparaitrait sous cette forme :
Chances : | | | | | | <==== nombre de chances choisi par l'utili
Or**t*ory*q*e <==== le mot avec les lettres trouvés et le reste caché par les étoiles
(a–l–p–m) <==== les lettres utilisés et incorrectes
J'aimerai aussi que les chances se décomptent à l'affichage.
Mon problème est que les mauvais mot sont affiché aux nombres de lettre du mot à deviner..
Voici mon script, je beug complétement et ne sais plus quoi faire
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#Nicolas
from random import randrange
listemot = ["fromage","alambique","casserole","programme","television","logiciel","avion","gourmandise"\
,"telechargement","illegalite","instrument","tondeuse","ordinateur","programmation","technologie",\
"diffusion","estampage","navigation","hasardeux","fondations","artistique","utilisation","imbuvable",\
"legume","innovation","constitution","iconique","evidence","invitation","cavite","lampadaire","limonade"\
,"bouteille","concours","culture","psychologie","cardiologue","pharmaceutique","laboratoire","scolaire"\
,"rasoir","medicament","perfusion","pansement","forage","aiguille","costume","danser","contemporain"\
,"mondialisation","environnement","ombrelle","vetement","sentiment","congelateur","spatule","chandelier"\
,"bateau","commandant","paquerette","coquelicot","robinetterie","armoiries","boutique","fantome","plaisanterie"\
,"ironique","electricite","ingenieur","infirmiere","informatique","biologie","citoyennete","chaussette","confiseries"\
,"glacier","bistrot","opticien","elegant","aquatique","piscine","romantique","antiquite","automobile","italienne"]
etoile = "*"
devine = []
cpt2 = randrange(len(listemot))
lench = len(listemot[cpt2])
mot = listemot[cpt2]
compt = 0
while compt < lench:
devine.append(etoile)
compt+=1
quest = raw_input("Choisir le niveau 5, 10 ou 15 : " )
cpt = 0
if quest == "5":
cpt = 5
elif quest == "10":
cpt = 10
else:
cpt = 15
lvl = "|"*cpt
print "Chances : %s" % (lvl)
u = len(devine)*"*"
print u
print mot
cpt3 = 0
bonlettre = []
mauvlettre = []
u = len(devine)
while cpt3 < cpt:
lettre = raw_input("Entrez une lettre : " )
cpt4 = 0
while cpt4 < u:
if lettre == mot[cpt4]:
bonlettre.append(mot[cpt4])
print bonlettre
else:
mauvlettre.append(lettre)
print mauvlettre
cpt4+=1
cpt3+=1
if bonlettre == mot:
print "Félicitation, tu as trouvé le nombre "
else:
print "Perdu "
Je sais que cela est possible avec des fonctions, mais j'aimerais rester dans cette structure, je verrai les fonctions plutard
Merci d'avance.
Nicolas