begin process at 2013 05 25 10:50:01
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Application complète

 > LE MOT LE PLUS LONG PAR DICO

LE MOT LE PLUS LONG PAR DICO


 Description

Cliquez pour voir la capture en taille normale
mon premier programme python un peu élaboré, Il ouvre un dico de mots, demande à l'utilisateur la suite de lettres, si l'utilisateur rentre rand() un mode aléatoire est prévu, il cherche les plus grand mots possibles, bref ça marche très bien...
exemple: pour typhno il donnera python, thon,...
Parfait pour jouer à l'émission "des chiffres et des lettres", à condition d'avoir un bon dico.

J'attends vos critiques et vos conseils avec impatience.

Source

  • # 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)"
  • print "\nentrez le nom du dico :",
  • adresse = raw_input()
  • 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"
  • # mise en memoire vive du dico
  • try:
  • try:
  • dico = file(adresse,'r')
  • print "chargement du dictionnaire..."
  • x = dico.readlines()
  • dico.close() # fin de l'utilisation du fichier
  • except:
  • adresse += ".txt"
  • dico = file(adresse,'r')
  • print "ouverture du fichier nomme :", adresse
  • x = dico.readlines()
  • dico.close() # fin de l'utilisation du fichier
  • except:
  • print "impossible d'ouvrir le fichier indique, le dico small sera ouvert"
  • print "chargement du dictionnaire..."
  • dico = file("top10000fr.txt",'r')
  • x = dico.readlines()
  • dico.close() # fin de l'utilisation du fichier
  • # conversion en liste de mots sans \n
  • dico = []
  • for mot in x:
  • dico.append(mot[0:len(mot)-1])
  • possible = False
  • ok = []
  • last = ""
  • # l'utilisateur entre les lettres melees
  • print "\nentrez la suite de lettres : ",
  • lettresmeles = raw_input()
  • lettresmeles.lower() # lettres en minuscule
  • import random
  • # generation aleatoire rand()
  • if lettresmeles == "rand()":
  • alphabet = "abcdefghijklmnopqrstuvwxyz"
  • lettresmeles = ""
  • print "entrez la taille du mot a generer :",
  • taille = raw_input()
  • try:
  • taille = int(taille)
  • except:
  • taille = 9
  • for un in range(taille):
  • lettre = random.randrange(26)
  • lettresmeles += alphabet[lettre]
  • print "voici le mot genere aleatoirement :", lettresmeles
  • # recherche des mots possibles
  • print "recherche en cours..."
  • for mot in dico:
  • if possible == True:
  • ok.append(last)
  • last = mot
  • for lettre in mot:
  • if mot.count(lettre) > lettresmeles.count(lettre):
  • possible = False
  • break
  • else:
  • possible = True
  • if possible == True:
  • ok.append(last)
  • compteur = -1
  • final = []
  • if len(ok) != 0:
  • final.append(ok[-1])
  • if len(final) > 1:
  • final.append(ok[-1])
  • if len(ok) > 1:
  • try:
  • while len(ok[compteur-1]) == len(ok[compteur]):
  • final.append(ok[compteur-1])
  • compteur -= 1
  • except:
  • print "impossible de trouver les plus grandes valeurs"
  • try:
  • pourcent = str(int((float(len(final[0]))/float(len(lettresmeles)))*100))
  • pourcent += "%"
  • except:
  • pourcent = "0%"
  • if len(final) > 1:
  • print "\nvoici les plus grands mots trouves : ", final, " (", len(final[0]), " lettres,", pourcent, ")"
  • elif len(final) > 0:
  • print "\nvoici le plus grand mot trouve : ", final[0], " (", len(final[0]), "/", len(lettresmeles), " lettres,", pourcent, ")"
  • elif len(final) == 0:
  • print "\naucun mot trouve"
  • if len(final) < len(ok):
  • print "\nvoulez vous afficher la liste des", len(ok), "mots trouves ?",
  • if raw_input() == "oui":
  • print "\nliste complete des mots trouves : \n"
  • for mot in ok:
  • print mot
# 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)"
print "\nentrez le nom du dico :",
adresse = raw_input()

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"

# mise en memoire vive du dico
try:
 try:
  dico = file(adresse,'r')
  print "chargement du dictionnaire..."
  x = dico.readlines()
  dico.close() # fin de l'utilisation du fichier
 except:
  adresse += ".txt"
  dico = file(adresse,'r')
  print "ouverture du fichier nomme :", adresse
  x = dico.readlines()
  dico.close() # fin de l'utilisation du fichier
except:
 print "impossible d'ouvrir le fichier indique, le dico small sera ouvert"
 print "chargement du dictionnaire..."
 dico = file("top10000fr.txt",'r')
 x = dico.readlines()
 dico.close() # fin de l'utilisation du fichier

# conversion en liste de mots sans \n
dico = []
for mot in x:
 dico.append(mot[0:len(mot)-1])

possible = False
ok = []
last = ""

# l'utilisateur entre les lettres melees
print "\nentrez la suite de lettres : ",
lettresmeles = raw_input()
lettresmeles.lower() # lettres en minuscule
import random

# generation aleatoire rand()
if lettresmeles == "rand()":
 alphabet = "abcdefghijklmnopqrstuvwxyz"
 lettresmeles = ""
 print "entrez la taille du mot a generer :",
 taille = raw_input()
 try:
  taille = int(taille)
 except:
  taille = 9
 for un in range(taille):
  lettre = random.randrange(26)
  lettresmeles += alphabet[lettre]

print "voici le mot genere aleatoirement :", lettresmeles

# recherche des mots possibles
print "recherche en cours..."
for mot in dico:

 if possible == True:
  ok.append(last)

 last = mot
 for lettre in mot:
  if mot.count(lettre) > lettresmeles.count(lettre):
   possible = False
   break
  else:
   possible = True

if possible == True:
 ok.append(last)

compteur = -1
final = []

if len(ok) != 0:
 final.append(ok[-1])

if len(final) > 1:
 final.append(ok[-1])

if len(ok) > 1:
 try:
  while len(ok[compteur-1]) == len(ok[compteur]):
   final.append(ok[compteur-1])
   compteur -= 1
 except:
  print "impossible de trouver les plus grandes valeurs"

try:
 pourcent = str(int((float(len(final[0]))/float(len(lettresmeles)))*100))
 pourcent +=  "%"
except:
 pourcent = "0%"

if len(final) > 1:
 print "\nvoici les plus grands mots trouves : ", final, " (", len(final[0]), " lettres,", pourcent, ")"

elif len(final) > 0:
 print "\nvoici le plus grand mot trouve : ", final[0], " (", len(final[0]), "/", len(lettresmeles), " lettres,", pourcent, ")"
elif len(final) == 0:
 print "\naucun mot trouve"

if len(final) < len(ok):
 print "\nvoulez vous afficher la liste des", len(ok), "mots trouves ?",
 if raw_input() == "oui":
  print "\nliste complete des mots trouves : \n"
  for mot in ok:
   print mot

 Conclusion

je n'ai malheureusement pu mettre que le dico small et medium dans le zip.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

CALCULATRICE LIGNE DE COMMANDE - CALCUL EXACT
ANTILOG, MORT AUX .LOG
Source avec Zip Source avec une capture DIVISIONS AVEC PRÉCISION RÉGLABLE
Source avec Zip Source avec une capture VOCABULARY, RÉVISER SON VOCABULAIRE PÉDAGOGIQUEMENT
Source avec Zip Source avec une capture PROGRAMME POUR LES MOTS CROISÉS

 Sources de la même categorie

Source avec Zip Source avec une capture SUDOKU EN PYTHON AVEC TKINTER ! par karmik
CALCULETTE POUR LES PRO-POINTS W-W PYTHON 3.2 par pierre3401
SOUS-TITRE YOUTUBE (.SRT) par simopr
Source avec Zip Source avec une capture GÉNÉRATEUR DE SCRIPT PYTHON par mickat92
Source avec une capture SIMULATEUR DE PLACEMENT par mickat92

 Sources en rapport avec celle ci

PRONOSTIQUES DE POKER PRÉ-FLOP par kawamythe
Source avec Zip NOMBRES PREMIERS, LISTES, NOMBRES PREMIERS JUMEAUX, CONJECTU... par Julien39
JEU DE MOT par kouakou021988
Source avec une capture PROTÉGEZ VOS FICHIERS PDF EN UN SIMPLE CLIC par guillaume_pays_cevenol
Source avec Zip Source avec une capture GÉNÉRATEUR DE MOTS ALÉATOIRES par lomar et lomar

Commentaires et avis

Aucun commentaire pour le moment.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

codage des caracteres [ par jerompnt ] Bonjour&nbsp; a toussur python2.4/windows2000/idleQuand j'affiche des listes(et uniquement pour les listes) dont les chaines poss&#233;dent un accent, Zope: Contenu d'une liste en fonction d'une autre [ par keumlebarbare ] AU SECOURS!!!! Je suis tout ce qu'il y a de plus d&#233;butant en Zope, et je crois que si je continue &#224; gal&#233;rer comme ca, je me (re)met a Fichiers en python [ par darfeuille ] Salut, &nbsp; Etant novice en python, je bloque sur un truc : &nbsp; Dans un de mes programmes, a un moment, je dois recopier un fichier (en le modi Date de création des fichiers par ftp [ par judre ] Salut, J'ai une application qui transf&#232;re une tonne de fichier par ftp en utilisant ftplib.&nbsp; J'aimerais savoir si y'a un truc pour t&#233;l instruction de base sous Python de transfert de fichiers [ par dgpgl ] Comment transferer des fichiers par xxx.jpeg depuis un PC windows sur une&nbsp; machine linux... a l'adresse xxx.ccc.com qui est ouverte via un port s Comment restaurer data.fs dans l' application zope? [ par rabikisa ] Bonjour, J'ai monté un serveur Zope sous Linux et je dois mettre en place une stratégie de sauvegarde. Zope sauvegarde toutes ses configurations, les fichiers [ par xilure ] voila mon nouveau probleme: je cr&#233;&#233; un fichier: op=open('monficher','a') op.write(''quelque chose'") op.close() apres comment puis je par erreurs video [ par ktamine ] bonjour &#233;tudiante en arts plastiques, je travaille autour de l&#146;esth&#233;tique de l&#146;erreur et des donn&#233;es corrompues (d&#146;image lister les fichiers d'un dossier [ par killroy988 ] Bonjour, je vous écris car je suis débutant en Python et j'aimerais réaliser un petit programme pour m'entrainer à la base et aux fichiers...J'ai malh uploader un fichier [ par amina22 ] bonjour,je suis entrain de programmer une application  qui se resume a une interface  qui me permet d'uploader des fichiers(audio,vidéo,image...) et d


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2013
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales