Difficulté pour programmer une autocompletion en PYTHON
MonsieurPa
Messages postés
1
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour à tous, je suis actuellement en train de coder un programme d'autocompletion en python
Voilà le but, nous avons un fichier text dans lequel ce trouve
Paris, 458 boulevard Saint-Germain
Paris, 343 boulevard Saint-Germain
Marseille, 343 boulevard Camille Flammarion
Marseille, 29 rue Camille Desmoulins
Marseille, 1 chemin des Aubagnens
Paris, 12 rue des singes
Paris, 34 quai VoLtAiRe
Paris, 34 rue Voltaire
Lille, 120 boulevard Victor Hugo
Marseille, 50 rue Voltaire
Toulouse, 90 rue Voltaire
Strasbourg 84 rue du Bouclier
Marseille, 78 boulevard de la libération
Lille, 30 rue Victor Danel
Mont Saint Martin, 42 rue de Bordeaux
Mont de Marsan, 100 avenue Pierre de Coubertin
Strasbourg, 391 boulevard de Nancy
Lyon, 56 rue du Docteur Albéric Pont
Lyon, rue du Docteur Albéric Pont
56 rue du Docteur Albéric Pont, Lyon
Lyon 56 grande rue
Lille, 90 rue d'Arras
Lille, 76 impasse Georges Pompidou
Je dois le parser de sorte qu'il me donne les 5 lettres les plus probable en commencent par la premiere lettre de chaque ville. la sortie dois normalement être :
{m} {p} {l] {s} {t} ( le programme reste en attente d'une prochaine lettre pour l'auto complétion )
Voicie ce que moi j'ai coder (Je suis débutant en python) :
Pourriez vous m'aider à avancer ?
Voilà le but, nous avons un fichier text dans lequel ce trouve
Paris, 458 boulevard Saint-Germain
Paris, 343 boulevard Saint-Germain
Marseille, 343 boulevard Camille Flammarion
Marseille, 29 rue Camille Desmoulins
Marseille, 1 chemin des Aubagnens
Paris, 12 rue des singes
Paris, 34 quai VoLtAiRe
Paris, 34 rue Voltaire
Lille, 120 boulevard Victor Hugo
Marseille, 50 rue Voltaire
Toulouse, 90 rue Voltaire
Strasbourg 84 rue du Bouclier
Marseille, 78 boulevard de la libération
Lille, 30 rue Victor Danel
Mont Saint Martin, 42 rue de Bordeaux
Mont de Marsan, 100 avenue Pierre de Coubertin
Strasbourg, 391 boulevard de Nancy
Lyon, 56 rue du Docteur Albéric Pont
Lyon, rue du Docteur Albéric Pont
56 rue du Docteur Albéric Pont, Lyon
Lyon 56 grande rue
Lille, 90 rue d'Arras
Lille, 76 impasse Georges Pompidou
Je dois le parser de sorte qu'il me donne les 5 lettres les plus probable en commencent par la premiere lettre de chaque ville. la sortie dois normalement être :
{m} {p} {l] {s} {t} ( le programme reste en attente d'une prochaine lettre pour l'auto complétion )
Voicie ce que moi j'ai coder (Je suis débutant en python) :
import readline
import sys
from collections import Counter
dicoTypeDeVoie = ['all\xc3\xa9e', 'avenue', 'boulevard', 'chemin', 'rue', 'quai', 'square', 'place', 'impasse']
if len(sys.argv) == 1:
print("Error detected, [Program] [File]")
sys.exit()
elif len(sys.argv) == 2:
filename = sys.argv[1]
f = open(filename,'r')
#b = f.read().strip().split(None, 3)
b = f.read().splitlines()
i = 0
liste = []
for line in b:
if ',' not in line:
print line
else:
(ville, adresse) = line.split(', ')
if len(adresse.split(' ')) < 3:
print line
else:
numero = adresse.split(' ')[0]
typeDeVoie = adresse.split(' ')[1]
nomDeLaVoie = adresse.split()[2]
if typeDeVoie not in dicoTypeDeVoie:
print line
else:
nomDeLaVoie = adresse.replace(numero, '').replace(typeDeVoie, '')
if not numero.isdigit():
print line
else:
liste.append(ville + ' ' + adresse)
#print [b[0][0]]
sys.stdout.write(b)
#texteConvertiEnListe = list(texte)
#sansLesDoublons = set(texteConvertiEnListe)
#sansLesDoublonsTrieParNbOccurrence = sorted(sansLesDoublons,key = lambda self,
# other = texteConvertiEnListe: other.count(self), reverse = True)
#for lettre in sansLesDoublonsTrieParNbOccurrence:
#print "{"+lettre.lower()+"}",
Pourriez vous m'aider à avancer ?
A voir également:
- Difficulté pour programmer une autocompletion en PYTHON
- Programmer sms - Guide
- Citizen code python - Accueil - Outils
- Programmer mail gmail - Guide
- Python pix ✓ - Forum Python
- Ce programme est écrit en python il construit un mot secret ✓ - Forum Python