Spaces:
Sleeping
Sleeping
File size: 3,527 Bytes
3dc3be1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 |
def numero(text):
"""Convierte un texto de numero en numero entero (int)
Parametros
----------
text: list
Serie de valores
Regresa
---------
dict_numeros: int
El número correspondiente
"""
global dict_numeros
# Como sabemos que siempre sera el primer elemento el valor despues
# de número (eg. cuatro or veintecinco)
numero_str = text[0]
return dict_numeros[numero_str]
def flotante(text):
"""Convierte un texto de numero en numero floatante (float)
Parametros
----------
text: list
Serie de valores
Regresa
---------
dict_numeros: float
El número correspondiente en floatante (eg 3.4)
"""
global dict_numeros
text = " ".join(text)
before_keyword, keyword, after_keyword = text.partition('punto')
print(before_keyword)
print(after_keyword)
# Obtenemos los dos numeros antes y despues del punto
before_num = before_keyword.strip().split(' ')[0]
after_num = after_keyword.strip().split(' ')[0]
# Hacemos el mapeo uno -> 1
num1_int = dict_numeros[before_num]
num2_int = dict_numeros[after_num]
return float(str(num1_int) + '.' + str(num2_int))
def cadena(text):
"""Convierte un texto de numero en string (str)
Parametros
----------
text: list
Serie de valores
Regresa
---------
string: str
Una cadena con el contenido del texto
"""
numero_str = text[:]
return ' '.join(text)
def lista(text):
"""Convierte un texto de numero en string (str)
Parametros
----------
text: list
Serie de valores
Regresa
---------
lista: list
Una lista vacia
"""
return []
diccionario_fonetico={'alfa':'a',
'bravo':'b',
'carlos':'c',
'delta':'d',
'eduardo':'e',
'fernando':'f',
'garcia':'g',
'hotel':'h',
'india':'i',
'julieta':'j',
'kilo':'k',
'lima':'l',
'miguel':'m',
'noviembre':'n',
'oscar':'o',
'papa':'p',
'queretaro':'q',
'romero':'',
'sierra':'s',
'tango':'t',
'uniforme':'u',
'victor':'v',
'wafle':'w',
'equis':'x',
'yarda':'y',
'llarda':'y',
'espacio':' '}
# Separa en operadores comunes
# si esto se lematiza puedes agarrar todas las frases de la forma suma, sumar, etc.
dict_operaciones={
'producto':'*','mas':'+','menos':'-','concatena':'+','entre':'/','modulo':'%'
}
dict_numeros = {
'cero':0,
'uno': 1,
'dos': 2,
'tres': 3,
'cuatro':4,
'cinco': 5,
'seis': 6,
'siete': 7,
'ocho': 8,
'nueve': 9,
'diez': 10,
'once': 11,
'doce': 12,
'trece': 13,
'catorce': 14,
'quince': 15,
'dieciseis': 16,
'diecisiete': 17,
'dieciocho': 18,
'diecinueve': 19,
'veinte': 20,
'treinta': 30,
'cuarenta': 40,
'cicuenta': 50,
}
# Diccionario de funciones
tipos_datos ={
'numero': numero,
'flotante': flotante,
'cadena': cadena,
'lista': lista,
} |