Soyez le premier à donner votre avis sur cette source.
Vue 13 933 fois - Téléchargée 1 092 fois
# variables, a typage statique pour shedskin dicostart = [] tailleok = [] ok = [] egal = False text = "first time" compteur = 0 print "programme de resolution de mots croises par dictionnaire par clem120%\na tout moment vous pouvez taper help pour obtenir de l'aide" print "-------------------------------------------------------------------------------" # selection du dictionnaire de mots print "\nentrez small pour avoir le petit dico fr (ultrarapide, petit, tres fiable)" print "entrez latin pour avoir le dico latin (rapide, moyen, tres fiable)" print "entrez medium pour avoir le dico fr moyen (rapide, gros, moyennement fiable)" print "entrez big pour avoir le gros dico fr (lent, tres gros, peu fiable)" while True: print "\nentrez le nom du dico :", adresse = raw_input() # interpretation de la saisie if adresse == "small": adresse = "top10000fr.txt" elif adresse == "medium": adresse = "dictionary_french.dic" elif adresse == "big": adresse = "wordlist.txt" elif adresse == "latin": adresse = "dictionary_latin.dic" if adresse == "help": # l'aide a tout moment print "\nentrez small pour avoir le petit dico fr (ultrarapide, petit, tres fiable)" print "entrez latin pour avoir le dico latin (rapide, moyen, tres fiable)" print "entrez medium pour avoir le dico fr moyen (rapide, gros, moyennement fiable)" print "entrez big pour avoir le gros dico fr (lent, tres gros, peu fiable)" # ouverture du dico try: if adresse != "help": Liste=file(adresse,'r') print "ouverture du dico..." Ligne=Liste.readline() break except: print "impossible d'ouvrir le fichier indique" # fichier -> liste de mots, ligne par ligne while Ligne<>"": dicostart.append(Ligne) Ligne=Liste.readline() Liste.close() # nouvelle liste de mots sans \n et en minuscule dico = [] for mot in dicostart: mot.lower() dico.append(mot[0:len(mot)-1]) # entree du mot a rechercher while True: tailleok = [] ok = [] print "veuillez entrer le mot, mettez un espace ou vous ne savez pas :", text = raw_input() if text == "": break print "--------------------------------------------------------------------------------" # nouvelle liste avec les mots de bonne taille for mot in dico: if len(mot) == len(text): tailleok.append(mot) # test pour savoir si les deux mots peuvent etres == print "tests sur les mots..." for mot in tailleok: compteur = 0 for lettre in mot: if lettre == text[compteur] or text[compteur] == " ": egal = True else: egal = False break compteur += 1 if egal == True: ok.append(mot) # affichage des mots trouves if len(ok)>0: print "\nvoici la liste des mots possibles :" print "-------------------------------------------------------------------------------" for mot in ok: print mot, " ", print "\n--------------------------------------------------------------------------------" else: print "aucun mot ne correspond"
9 sept. 2010 à 11:04
10 janv. 2010 à 15:10
10 janv. 2010 à 13:52
J'indente avec des espaces, je trouve cela plus clair, mais après chacun ses goûts.
10 janv. 2010 à 11:17
adresse = "top10000fr.txt"
elif adresse == "medium":
adresse = "dictionary_french.dic"
elif adresse == "big":
adresse = "wordlist.txt"
elif adresse == "latin":
adresse = "dictionary_latin.dic"
peut être remplacé par :
L1 =["latin","big","medium","small"]
L2=["top10000fr.txt","dictionary_french.dic","wordlist.txt","dictionary_latin.dic"]
for a in L1:
if a==adresse : adresse=L2[L1[adresse]]
je trouve ça plus simple lorsque tu veux ensuite rajouter des références... Ici c'est limite, mais quand tu as beaucoup de choix ça devein très pratique.
sinon c'est simpatique, peut peux changer l'indentation (tabulations) parceque là je lis très dificilement le code...
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.