# -*- coding: utf-8 -*- import sys numbersAsWords = ( "zero", "un", "deux", "trois", "quatre", "cinq", "six", "sept", "huit", "neuf", "dix", "onze", "douze", "treize", "quatorze", "quinze", "seize", "dix-sept", "dix-huit", "dix-neuf", "vingt", "vingt-et-un", "vingt-deux", "vingt-trois", "vingt-quatre", "vingt-cinq", "vingt-six", "vingt-sept", "vingt-huit", "vingt-neuf", "trente", "trente-et-un", "trente-deux", "trente-trois", "trente-quatre", "trente-cinq", "trente-six", "trente-sept", "trente-huit", "trente-neuf", "quarante", "quarante-et-un", "quarante-deux", "quarante-trois", "quarante-quatre", "quarante-cinq", "quarante-six", "quarante-sept", "quarante-huit", "quarante-neuf", "cinquante", "cinquante-et-un", "cinquante-deux", "cinquante-trois", "cinquante-quatre", "cinquante-cinq", "cinquante-six", "cinquante-sept", "cinquante-huit", "cinquante-neuf", "soixante", "soixante-et-un", "soixante-deux", "soixante-trois", "soixante-quatre", "soixante-cinq", "soixante-six", "soixante-sept", "soixante-huit", "soixante-neuf", "soixante-dix", "soixante-et-onze", "soixante-douze", "soixante-treize", "soixante-quatorze", "soixante-quinze", "soixante-seize", "soixante-dix-sept", "soixante-dix-huit", "soixante-dix-neuf", "quatre-vingts", "quatre-vingt-un", "quatre-vingt-deux", "quatre-vingt-trois", "quatre-vingt-quatre", "quatre-vingt-cinq", "quatre-vingt-six", "quatre-vingt-sept", "quatre-vingt-huit", "quatre-vingt-neuf", "quatre-vingt-dix", "quatre-vingt-onze", "quatre-vingt-douze", "quatre-vingt-treize", "quatre-vingt-quatorze", "quatre-vingt-quinze", "quatre-vingt-seize", "quatre-vingt-dix-sept", "quatre-vingt-dix-huit", "quatre-vingt-dix-neuf", "cent") numbersAttributes = [] for word in numbersAsWords: """ Pour chaque nombre en lettres, on compte le nombre de voyelles et le nombre de consonnes. """ nbC = 0 nbV = 0 for letter in word: if letter in "aeiouy": nbV += 1 elif letter not in " -": nbC += 1 numbersAttributes.append( (nbV, nbC) ) for x in range(99): xv, xc = numbersAttributes[x] for y in range(x + 1, 100): yv, yc = numbersAttributes[y] if xv == yv: continue if xc == yc: continue if xc != yv: continue for z in range(y + 1, 101): zv, zc = numbersAttributes[z] if zv == xv: continue if zc == xc: continue if zv == yv: continue if zc == yc: continue if zv + zc != yc: continue if zc != xv: continue print("Solution : ", x, y, z) print(", ".join( [numbersAsWords[i] for i in (x,y,z)] ))
18 février 2013
|
Sommaire général |