111 lines
3.2 KiB
Python
111 lines
3.2 KiB
Python
def nbletter(nombre):
|
|
|
|
ten_pre = {'2': "vingt-",
|
|
'3': "trente-",
|
|
"4": "quarante-",
|
|
"5": "cinquante-",
|
|
"6": "soixante-",
|
|
"7": "soixante-",
|
|
"8": "quatre-vingt-"}
|
|
|
|
chiffre = {'0': "zéro ",
|
|
'1': "un",
|
|
'2': "deux",
|
|
'3': "trois",
|
|
'4': "quatre",
|
|
'5': "cinq",
|
|
'6': "six",
|
|
'7': "sept",
|
|
'8': "huit",
|
|
'9': "neuf",
|
|
|
|
'10': "dix",
|
|
'11': "onze",
|
|
'12': "douze",
|
|
'13': "treize",
|
|
'14': "quatorze",
|
|
'15': "quinze",
|
|
'16': "seize",
|
|
|
|
'20': "vingt",
|
|
'30': "trente",
|
|
'40': "quarante",
|
|
'50': "cinquante",
|
|
'60': "soixante",
|
|
'70': "soixante-dix",
|
|
'80': "quatre-vingts",
|
|
'90': "quatre-vingt-dix",
|
|
|
|
'100': "cent",
|
|
|
|
'71': "soixante et onze",
|
|
'91': "quatre-vingts-onze"}
|
|
|
|
for i in range(7, 10):
|
|
chiffre[str(i+10)] = "dix-"+chiffre[str(i)]
|
|
for x in range(2, 7):
|
|
#print(str(x * 10))
|
|
chiffre[str(x) +
|
|
"1"] = chiffre[str(x * 10)] + " et un"
|
|
#print("\n", chiffre.get(61))
|
|
for y in range(1, 10):
|
|
#print(90+y)
|
|
chiffre[str(90 + y)] = "quatre-vingts-" + \
|
|
chiffre[str(y + 10)]
|
|
for y in range(1, 10):
|
|
#print(90+y)
|
|
chiffre[str(70 + y)] = "soixante-" + \
|
|
chiffre[str(y + 10)]
|
|
#print(chiffre["99"])
|
|
avirgule = str(nombre).split(".")[0]
|
|
aprevirgule = str(nombre).split(".")[1]
|
|
#print(avirgule)
|
|
|
|
def letter(nbrond):
|
|
if nbrond[0] == "0":
|
|
return "zero " + str(chiffre[nbrond[1]])
|
|
if nbrond[0] == "1":
|
|
return chiffre[nbrond]
|
|
else:
|
|
part = ten_pre[str(nbrond[0])]
|
|
return part+str(chiffre[nbrond[1]])
|
|
|
|
try:
|
|
avirgule = chiffre[str(avirgule)]
|
|
#print("try")
|
|
except:
|
|
avirgule = letter(avirgule)
|
|
#print(avirgule)
|
|
|
|
def fraction(nb):
|
|
if len(nb) == 1:
|
|
# print("2 : ", len(nb))
|
|
if nb == "1":
|
|
# print(f"ON EST LAAAA : {nb}")
|
|
return chiffre[str(nb)] + " dixième"
|
|
else:
|
|
# print(f"eh non : {nb}")
|
|
return chiffre[str(nb)] + " dixièmes"
|
|
|
|
elif len(nb) == 2:
|
|
if nb[0] == "0":
|
|
if nb[1] == "1":
|
|
#print("ttttest" +nb[1])
|
|
return chiffre[str(nb[1])] + " centième"
|
|
else:
|
|
#print("test" +nb[1])
|
|
return chiffre[str(nb[1])] + " centièmes"
|
|
else:
|
|
#print(f"tesst : {nb[0]}")
|
|
try:
|
|
aprevirgule = chiffre[nb]
|
|
except:
|
|
aprevirgule = letter(nb)
|
|
finally:
|
|
return aprevirgule + " centièmes"
|
|
|
|
aprevirgule = fraction(aprevirgule)
|
|
#print(f"{avirgule}, {aprevirgule}")
|
|
return avirgule + " et " + aprevirgule
|
|
|