Función para expresar en letras
def componer(value): | |
x = int(value) | |
unidad = ['','uno','dos','tres','cuatro','cinco','seis','siete','ocho','nueve'] | |
decena = ['diez','once','doce','trece','catorce','quince','dieciseis','dicisiete','dieciocho','diecinueve'] | |
decadas = { | |
2:['veinte','veinti'], | |
3:['treinta','treinta y '], | |
4:['cuarenta','cuarenta y '], | |
5:['cincuenta','cincuenta y '], | |
6:['sesenta','sesenta y '], | |
7:['setenta','setenta y '], | |
8:['ochenta','ochenta y '], | |
9:['noventa','noventa y '], | |
} | |
centena = [ | |
'', | |
'ciento ', | |
'doscientos ', | |
'trescientos ', | |
'cuatrocientos ', | |
'quinientos ', | |
'seiscientos ', | |
'setecientos ', | |
'ochocientos ', | |
'novecientos ' | |
] | |
if x < 1000000: | |
if x < 1000: | |
if x < 100: | |
if x < 20: | |
if x < 10: | |
return unidad[x] | |
else: | |
return decena[x - 10] | |
else: | |
if (x % 10 == 0): | |
return decadas[x / 10][x % 10] | |
else: | |
return decadas[x / 10][1] + unidad[x % 10] | |
else: | |
if x == 100: | |
return 'cien ' | |
else: | |
return centena[x / 100] + componer(x % 100) | |
else: | |
return componer(x / 1000) + ' mil ' + componer(x % 1000) | |
#return 'mil' + componer(x % 1000) | |
else: | |
if x < 2000000: | |
return componer(x / 1000000) + ' millón, ' + componer(x % 1000000) | |
else: | |
return componer(x / 1000000) + ' millones, ' + componer(x % 1000000) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment