Esta vez estoy decidido a aprender la POO y no voy a continuar
con el próximo tema hasta aprender por lo menos lo básico.-
Primero dejo un programita para demostrarle que algo pude lograr.-
class Super:
def __init__(self, codigo, nombre, precio):
self.codigo = codigo
self.nombre = nombre
self.precio = precio
def __str__(self):
return f"{self.codigo} {self.nombre} {self.precio}"
if __name__ == '__main__':
tomate = Super(125, "Arcor tomate perita lata x 380 grs.", 129.50)
print(tomate)
import codecs
import os
def principal():
lemario = leer_lemario()
palabra = True
mostrar = []
while palabra:
palabra = input("\n Ingrese la palabra a corregir...: ")
if buscar_palabra(palabra, lemario) == True:
print(f'\n La palabra "{palabra}" existe en el diccionario y es correcta.')
elif len(palabra) == 0:
break
else:
for lema in lemario:
posibles = distancia(lema, palabra)
if int(posibles) == 1:
mostrar.append(lema)
if len(mostrar) == 0:
print("\n No se encontraron palabras parecidas...")
else:
print("\n ===== Posibles palabras correctas =====")
cont = 0
for mos in mostrar:
print(" ", mos, end=" - ")
cont += 1
if cont == 5:
print(" ")
cont = 0
print("\n =======================================")
mostrar.clear()
def buscar_palabra(palabra, lemario):
for lema in lemario:
if palabra == lema:
return True
return False
def leer_lemario():
lemario = []
with codecs.open('Ortografia.txt', 'r', encoding='utf-8') as archivo:
for linea in archivo:
linea = linea.strip()
if len(linea) > 0:
lemario.append(linea)
return lemario
def distancia(str1, str2):
posibles = []
d=dict()
for i in range(len(str1)+1):
d[i]=dict()
d[i][0]=i
for i in range(len(str2)+1):
d[0][i] = i
for i in range(1, len(str1)+1):
for j in range(1, len(str2)+1):
d[i][j] = min(d[i][j-1]+1, d[i-1][j]+1, d[i-1][j-1]+(not str1[i-1] == str2[j-1]))
return d[len(str1)][len(str2)]
if __name__ == "__main__":
principal()
La pregunta es: ¿alguien me podría orientar para pasar este programa
(que intenta ser un corrector ortográfico)a la POO?.-
Si les resulta muy tedioso hacer un ej. completo, por lo menos desearía
que me muestren tan solo un método, desde ya muchas gracias…
Slds. Daniel ☕☕☕