Spaces:
Runtime error
Runtime error
def sim_jac(s1, s2): | |
bigrams_s1 = [] | |
bigrams_s2 = [] | |
for i in range(len(s1) - 1): | |
bigrams_s1.append(s1[i:i+2]) | |
for i in range(len(s2) - 1): | |
bigrams_s2.append(s2[i:i+2]) | |
c_common = 0 | |
for i in bigrams_s1: | |
if bigrams_s2.count(i) > 0: | |
c_common += 1 | |
return c_common / ((len(s1) - 1) + (len(s2) - 1) - c_common) | |
def encontrar_palabras(transcript,cjto_palabras): | |
''' | |
Toma un string (en minúsculas) y un conjunto de palabras. Busca el primer match | |
de cjto_palabras en transcript y particiona el string en: | |
1. El slice de la cadena antes del primer match (antes_palabra) | |
2. La cadena del primer match (coincidencia de cjto_palabras) | |
3. El slice de la cadena después del match (despues_palabra) | |
''' | |
inicio,final=list(re.finditer(r'|'.join(cjto_palabras),transcript))[0].span() | |
antes_palabra=transcript[:inicio].strip() | |
despues_palabra=transcript[final:].strip() | |
palabra=transcript[inicio:final] | |
return antes_palabra,palabra,despues_palabra | |
def agregar_adentro(codigo, transcipcion): | |
codigo2 = main(transcipcion) | |
return codigo[:-1] + codigo2 | |
import numpy as np | |
def main(instruccion): | |
global bloque | |
plantillas = [ | |
crear_funcion, | |
crear_condicional, | |
crear_condicional, | |
asignar_variable, | |
crear_variable, | |
crear_llamada, | |
crear_for, | |
fin_de_bloque, | |
crear_comentario, | |
crear_regresa | |
] | |
comandos = [set(['definir', 'funcion', 'parametros']), | |
set(['mientras']), | |
set(['si']), # si se cumple / mientras se cumpla | |
set(['asignar', 'con']), | |
set(['definir', 'variable']), | |
set(['ejecuta', 'argumentos']), | |
set(['para', 'rango']), | |
set(['terminar','bloque']), | |
set(['comentario']), | |
set(['regresa']) | |
] | |
J = [] | |
for comando in comandos: | |
J.append(len(set(instruccion.strip().split(' ')).intersection(comando)) / len(set(instruccion.strip().split(' ')).union(comando))) | |
# print(J,np.argmax(J)) | |
pos_func=np.argmax(J) | |
# print(pos_func) | |
return plantillas[pos_func](instruccion) |