Autor
|
Tema: Primeros pasos con programación orientada a objetos(POO) (Leído 5,009 veces)
|
El mas antiguo
Desconectado
Mensajes: 103
|
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 ☕☕☕
|
|
|
En línea
|
|
|
|
|
El mas antiguo
Desconectado
Mensajes: 103
|
Hola tocayo, gracias por ocuparte, estoy desconcertado, ¿qué sugerís entonces que no debería aprender POO?, no entiendo, ¿acaso son innecesarias las clases?.-
Slds. Daniel ☕☕☕
|
|
|
En línea
|
|
|
|
Danielㅤ
Desconectado
Mensajes: 1.865
🔵🔵🔵🔵🔵🔵🔵
|
A ver yo solo te respondo para sacarte la duda de que lo que estas aprendiendo es POO porque programas escribiendo códigos en un lenguaje Orientado a Objetos.
Vos tenes que aprender lo que vos quieras aprender y lo que en el futuro te vaya a servir para crear tus proyectos/programas.
Y en cuánto a mi opinión si podes aprender POO tranquilamente, yo aprendí con python y he creado muy buenos programas, más que nada eran herramientas útiles.
Las clases si son muy necesarias, si vas a programar códigos muy simples y muy cortos podes no usarlas y usar solamente funciones, pero si vas a crear un proyecto mediano o grande, entonces si es totalmente necesario y fundamental que las utilices.
Saludos
|
|
|
En línea
|
|
|
|
|
El mas antiguo
Desconectado
Mensajes: 103
|
No puedo aportar demasiado, lo concreto es que aprender POO lo único interesante que logre es complicarme la vida.- Gracias explorer por tu aporte...
Slds. Daniel ☕☕☕
|
|
|
En línea
|
|
|
|
Danielㅤ
Desconectado
Mensajes: 1.865
🔵🔵🔵🔵🔵🔵🔵
|
No puedo aportar demasiado, lo concreto es que aprender POO lo único interesante que logre es complicarme la vida.- Gracias explorer por tu aporte...
Slds. Daniel ☕☕☕
Vaya nunca me hubiera imaginado que digas eso de Python con todo lo que llevas aprendiendo, practicando y creando tus programas. Si ahora no te gusta más Python pues bien podes aprender programación estructural, que sería lo opuesto de POO, también vas a tener que aprender a usar las llaves de apertura y cierre ( { } ) y el punto y coma ( ; ) como base fundamental. Suerte
|
|
« Última modificación: 29 Diciembre 2022, 15:55 pm por Danielㅤ »
|
En línea
|
|
|
|
El mas antiguo
Desconectado
Mensajes: 103
|
Amigo, o yo me exprese equivocadamente, o no me supiste interpretar.- Me gusta muchísimo Python(no la POO), no puedo negar que me gusta mucho "C", ya que más cerca de la memoria me encuentro, más cómodo, me siento, más identificado con la programación, abrazo.-
Slds. Daniel ☕☕☕
|
|
|
En línea
|
|
|
|
reymosquito
Desconectado
Mensajes: 81
|
Hola Daniel: vivo en un país gobernado por ladrones,corruptos e inútiles que mantienen vagos y favorecen a ladrones, han robado los cables de internet así que lo hago desde el télefono y es un asco, pero te diré: 1)tienes que pensar y entender bien cuando es mejor usar clases y cuando es innecesario 2)si entendiste lo básico es crear la clase y cada función es un método 3)en lo personal uso clases si hay herencia ,combinaciones,repeticiones, polimofirsmo, etc 4)te dejo una orientación, para que vayas viendo la aplicación en este caso. 5) obvio no haré todo, te lo dejo para que practiques y cualquier duda consultes. #-*- coding: utf -8 -*- import os class Archivo: def __init__(self,nombre="Ortografia.txt"): self.nombre = nombre self.palabras= open(nombre).readlines() if os.path.exists(nombre) else [] self.palabras = [palabra.strip() for palabra in self.palabras] def buscar_palabra(self,buscada): if buscada in self.palabras: return True return False def principal(): lista = Archivo() palabra = lista.buscar_palabra(input("Ingrese la palabra a corregir...: ")) if palabra: print(f'La palabra existe en el diccionario y es correcta.') if __name__ == "__main__": principal()
|
|
|
En línea
|
|
|
|
El mas antiguo
Desconectado
Mensajes: 103
|
¿En qué país de sud América vivís? Ja ja ja Gracias rey y me quedo con esta frase "en lo personal uso clases si hay herencia, combinaciones, repeticiones, polimorfismo, etc.” Tenía un concepto casi fanatizado de la POO por eso me aclara mucho tu frase.- Igual estoy intrigado que me va a pasar porque inicio ahora mismo estudiando QT6 y según el enunciado, todo tiene que ser hecho con clases, veremos, un abrazo…
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Programacion orientada a objetos en php, ide
PHP
|
wizache
|
2
|
4,736
|
11 Marzo 2008, 02:44 am
por [ Alberto]
|
|
|
programacion orientada a objetos con C#
.NET (C#, VB.NET, ASP)
|
Bleach@lex
|
3
|
5,507
|
21 Abril 2012, 19:55 pm
por Bleach@lex
|
|
|
Programacion orientada a objetos
Programación C/C++
|
cazagavilan
|
4
|
3,890
|
21 Abril 2012, 10:55 am
por cazagavilan
|
|
|
Programacion orientada a objetos en c++
Programación C/C++
|
stivinsung
|
4
|
2,484
|
26 Mayo 2016, 17:13 pm
por stivinsung
|
|
|
Programacion orientada a objetos
Programación General
|
yos_14
|
2
|
2,382
|
5 Octubre 2016, 07:08 am
por Eleкtro
|
|