#!/usr/bin/python # -*- coding: utf-8 -*- import csv import random def main(): # on va creer une list d'objet Nom mots = [] with open("Lexique382.txt") as lexique: # on lit dans un "tab separated values" lexique = csv.reader(lexique, delimiter='\t') for raw in lexique: # on y cherche les noms if raw[3] == "NOM": # et on les range dans mots mots.append(Nom(raw[0], raw[4], raw[5])) # on imprime la phrase print("%s %s ce que %s %s" % \ (random.choice(mots).det_mot_vrb(), \ random.choice(mots).pre_mot(), \ random.choice(mots).det_mot_vrb(), \ random.choice(mots).pre_mot())) class Nom(): def __init__(self, mot, genre, nombre): self.mot = mot self.genre = genre self.nombre = nombre def det(self): if self.nombre == 'p': return "les " elif self.mot[0] in ['a','à','e','é','è','ê','i','o','u','y','h']: return "l'" elif self.genre == 'f': return "la " else: return "le " def pre(self): if self.det() == "les ": return "aux " if self.det() == "le ": return "au " if self.det() == "la ": return "à la " if self.det() == "l'": return "à l'" def vrb(self): if self.nombre == "p": return "sont" else: return "est" def det_mot_vrb(self): return self.det() + self.mot + " " + self.vrb() def pre_mot(self): return self.pre() + self.mot main()