Partie B - Python

.

  • La première étape est la réalisation de deux petits scripts sous Python.

Petite présentation: Python est un langage de programmation interprété. Il est parfois considéré comme un langage de script, à tort, car il offre un grand confort dans le développement d'applications de divers types. Sa syntaxe est concise et épurée et permet ainsi un gain de temps pour l'écriture du code. Python fonctionne sous Unix/Linux, Windows, Mac OS X, OS/2, Amiga, les organiseurs Palm et les téléphones mobiles Nokia.
La machine virtuelle Python permet d'exécuter le code directement sans le compiler. Il est bien sûr possible d'écrire du code source Python dans des fichiers dont l'extension sera .py, mais aussi de taper ce code directement dans l'interpréteur. Lors de l'exécution d'un programme Python, la machine virtuelle tentera d'opérer à des optimisations en produisant du byte-code dans un fichier d'extension .pyc pour chaque fichier d'extension .py (source: wikiversity)

Voilà à quoi ressemble le shell de python:

  • Création de fichiers texte avec des langues différentes.
Le premier script a comme objectif la preparation des ressources dont nous devons disposer pour le "Devineur". Il s'agit concrètement de créer des listes de mots pour plusieurs langues. Plus il y aura de langues, plus le nombre de langues que le programme poura déterminer sera élevé.


D'abord, il faut copier-coller un texte quelconque dans un fichier texte. On appelle le texte en français: fr.txt par exemple :


On crée autant de fichier que de langues désirées.

  • Le premier script proprement dit.
Pour chaque langue, le script s'occupe de :
- d'ouvrir chaque fichier de langues
- de prendre tous les mots de chaque langue pour les mettres dans des listes (une par langue)
Au final on se retrouve avec de nouveaux fichiers txt dans lesquels on retouve tous les mots de la langue en minuscules, sans doublons et triés par ordre alphabétique.

Voici une capture d'écran de mon script avec des commentaires (en rouge, derrière les #):



Et voilà ce qui s'affiche dans le shell python :



Nous sommes maintenant en possession des ressources textuelles minimales. Biensûr, plus les listes seront longues, plus la probabilité que le programme trouve la bonne langue sera élevée.

  • Le deuxième script.
Le second script est le devineur proprement dit. Toujours sous python, on crée un script qui devine la langue d'un fichier inconnu. Il faut au préalable avoir un fichier inconnu: exemple inconnu.txt
Concrètement, ce script :
- Ouvre les listes de langues préalablement crées
- Ouvre un fichier inconnu
- Crée coupe le fichier en mots
- Compare les mots de la liste inconnue  avec les mots des listes de langues
- Trie les listes.
Intéret : La langue dans laquelle on retrouve le plus de mots de la liste inconnue a une grande probabilité d'être la langue des mots de la liste inconnue.

Voilà une capture d'écran de ce script avec des commentaires: