-
Notifications
You must be signed in to change notification settings - Fork 0
/
inicio.py
101 lines (91 loc) · 3.63 KB
/
inicio.py
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
# -*- coding: utf-8 -*-
from listas import *
class Inicio:
""" ABRIR ARCHIVO CON EJEMPLOS POSITIVOS"""
def archivo_ejemplos_pos(self):
#Abrir .txt con Ejemplos Positivos
expresiones = open("EjemplosPositivos.txt")
linea = [" "]
#Objeto de listas
self.listas = listas()
#Valores Base
ejemplo = expresiones.readline().split(' ')
self.listas.insertar(1, ejemplo[0])
self.listas.insertar(2, ejemplo[1])
self.listas.insertar(3, ejemplo[2])
self.listas.insertar(4, ejemplo[3])
while linea != '':
#Leer linea a linea del .txt
linea = expresiones.readline().split(' ')
if (linea == ['']):
expresiones.close()
break
#Evaluar ejemplo base con cada ejemplo (positivo o negativo)
#linea[:-1] todos menos el ultimo elemento
self.evaluar_ejemplo(True, ejemplo[:-1], linea[:-1], listas)
return (listas)
""" ABRIR ARCHIVO CON EJEMPLOS NEGATIVOS"""
def archivo_ejemplos_neg(self, listas):
#Abrir .txt con Ejemplos Negativos
expresiones = open("EjemplosNegativos.txt")
linea = [" "]
ejemplo = expresiones.readline().split(' ')
while linea != '':
#Leer linea a linea del .txt
linea = expresiones.readline().split(' ')
if (linea == ['']):
expresiones.close()
break
self.evaluar_ejemplo(False, ejemplo[:-1], linea[:-1], listas)
return (self.listas.recuperar())
""" ABRIR ARCHIVO CON EJEMPLOS """
def abrir_archivo_descripcion(self):
descripcion = open("Descripcion.txt")
desc1 = descripcion.readline().split(' ')
desc2 = descripcion.readline().split(' ')
return (desc1,desc2)
""" AGREGAR EL RESULTADO AL ARCHIVO """
def escribir_archivo(self,resultado):
busquedas = open("Resultados.txt", "w")
busquedas.write(str(resultado))
busquedas.close()
""" EVALUA LOS EJEMPLOS POSITIVOS Y NEGATIVOS """
def evaluar_ejemplo(self, ejemplo, base, valores, listas):
#Si es un Ejemplo Positivo
if ejemplo:
#Variables auxiliares
i = 0
#Mientras hayan valores
while i < len(valores):
if base[i] != valores[i]:
#Valor en diferencia
self.listas.insertar((i+1), valores[i])
i += 1
#Si es un Ejemplo Negativo
else:
#Variables auxiliares
i = 0
#Mientras hayan valores
while i < len(valores):
if base[i] != valores[i]:
#Valor en diferencia
self.listas.insertar((i+1),'NO '+valores[i])
i += 1
""" IMPRESION DE EJEMPLOS EN DIFERENCIA """
def impresion (self, resultado, descripcion):
#Variables auxiliares
i = 0
impresion = ''
impresion += ' '.join(descripcion[0])+'\n'
#Mientras hayan elementos
while i < len(resultado):
impresion += str(descripcion[1][i])+' : '+' / '.join(resultado[i])+'\n'
i += 1
return impresion
inicio = Inicio()
#Obtiene diferencias con ejemplos positivos
listas = inicio.archivo_ejemplos_pos()
#Obtiene diferencias con ejemplos negativos
salida2 = inicio.impresion(inicio.archivo_ejemplos_neg(listas), inicio.abrir_archivo_descripcion())
#Diferencias Finales
inicio.escribir_archivo(salida2)