Ayuda en el camino de la programación

Eseljt

Eseljt

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola buenas como están ??, no se si es el lugar soy nuevo en la pagina, quería consultar si pueden darme algún tipo de guía o ayuda, comencé hace unos 2 meses en mis estudios como autodidacta en Python aprendiendo un lenguaje de programación, me enamore muchísimo de esto, mas por que vengo de una rama diferente al 100% de arte, ilustración y diseño lo cual no me funciono laboralmente y quise incursionar en este mundo IT desde hace mucho como ahora tengo tiempo quise entrar de lleno, pero siento que no se para donde apuntar, leí todos los pdf y pág. que encontré, vi todos los videos tutoriales que se encuentran en YouTube sobre lo básico que se tiene que saber como extras, pero siento que no puedo armar nada con lo que se, siento que no tengo lógica ni entiendo como diagramar o escribir todo lo que se en mi código (lo cual me frustra, también e visto todo lo relacionado a pseudocódigo y diagramas de flujo), tampoco se como apuntar todo el contenido a que sea útil a mi uso o a practicas, estoy todos los días practicando unas 4hs a 6hs o mas diarias haciendo ejercicios con ayuda de las IA y viendo videos como los de píldoras informativas, dalto, hola mundo, etc… muchos de estos influencers o instituciones.

- Alguien podría darme una guía de como planear mis estudios, como podría hacer que este aprendizaje sea mas llevadero y no tan monótono como pedirle a la ia q me haga actividades y simplemente hacerlas con la duda si estoy aprendiendo o solo memorizando código...

- Como empiezo y que camino tomo ??, como serian los pasos a estudiar para poder avanzar progresivamente y no hacer como todo autodidacta que entra en un tema básico, luego a uno complejo, así variando sin sentido ni lógica y termina siendo inútil esa disparidad de información sin una continuidad o lógica de estudio y linealidad coherente. ?? gracias.


Muchas gracias a todos.
 
Yo soy programador Y he vivido de eso muchos años

Mira yo te aconsejo que uses alguna inteligencia artificial como Gemini o Chat GPT para para que te guíe paso a paso como un tutor y te va a ser mucho más fácil.

De hecho que hoy se pueda contar con esa gran ayuda es una cosa magnífica que ya hubiera yo querido tener hace algunos años

Hoy podrías fácilmente usando las apis de Gemini,por ejemplo, que son gratuitas hacer algunas aplicaciones que utilicen la inteligencia artificial y tu programa tenga Un formulario que el usuario rellene Y le genere un artículo escrito en determinado idioma, según el haya elegido en el formulario y sobre un tema que haya indicado en el formulario y así muchas características como el tono pueden ser elegidas por el usuario, etc.

No es tan difícil como puede parecer, De hecho es bastante simple
 
usa la IA para que te arme un plan de estudio estructurado y a partir de eso empiece a explicarte paso a paso lo que debes aprender, incluso podrias decirle que lo vayan aplicando a un proyecto, asi iras viendo como aplicar cada cosa que aprendes, al final ese proyecto lo dejas como experiencia
 
Yo soy programador Y he vivido de eso muchos años

Mira yo te aconsejo que uses alguna inteligencia artificial como Gemini o Chat GPT para para que te guíe paso a paso como un tutor y te va a ser mucho más fácil.

De hecho que hoy se pueda contar con esa gran ayuda es una cosa magnífica que ya hubiera yo querido tener hace algunos años

Hoy podrías fácilmente usando las apis de Gemini,por ejemplo, que son gratuitas hacer algunas aplicaciones que utilicen la inteligencia artificial y tu programa tenga Un formulario que el usuario rellene Y le genere un artículo escrito en determinado idioma, según el haya elegido en el formulario y sobre un tema que haya indicado en el formulario y así muchas características como el tono pueden ser elegidas por el usuario, etc.

No es tan difícil como puede parecer, De hecho es bastante simple
Puedes compartir algunos prompts?
 
Puedes compartir algunos prompts?
No tengo a mano pero en general tú promp debe contener:

-idioma del texto
-tema
-extension
-tono
-estilo
-caracteristicas


Es decir debe especificar cada una de esas cosas

por características Me refiero a las cosas y Muy específicas que quieras pedirle por ejemplo le dices que sea en primera persona, Etc

como te recomendaron más arriba yo creo que usa la inteligencia artificial y que te vaya guiando

Dile que necesitas que te haga un temario muy detallado para que aprendas Phyton y que como parte de estos temarios vayas desarrollando proyectos de la vida real


yo creo que con eso es suficiente Si te va a hacer un buen temario y unos buenos proyectos








Acá lo que me dio a mí gemini





Temario Detallado de Python con Proyectos de la Vida Real

Módulo 1: Fundamentos de Python


  • Semana 1: Introducción y Configuración del Entorno
    • ¿Qué es Python? Historia, características y aplicaciones.
    • Instalación de Python en diferentes sistemas operativos (Windows, macOS, Linux).
    • Introducción a los entornos virtuales (virtualenv, venv).
    • Primer programa en Python: "¡Hola, mundo!".
    • Uso de un editor de código (VS Code, PyCharm, Sublime Text).
    • Introducción a la terminal o línea de comandos.
  • Semana 2: Tipos de Datos y Operadores
    • Tipos de datos básicos: enteros (int), decimales (float), booleanos (bool), cadenas de texto (str).
    • Operadores aritméticos, de comparación, lógicos y de asignación.
    • Precedencia de operadores.
    • Conversión de tipos de datos.
    • Mini-Proyecto 1: Calculadora Simple: Crear un programa que realice operaciones aritméticas básicas (suma, resta, multiplicación, división) basadas en la entrada del usuario.
  • Semana 3: Estructuras de Control de Flujo
    • Sentencias condicionales: if, elif, else.
    • Bucles for y while.
    • Uso de break y continue.
    • Mini-Proyecto 2: Adivina el Número: Desarrollar un juego donde la computadora elige un número aleatorio y el usuario intenta adivinarlo, recibiendo pistas como "mayor" o "menor".
  • Semana 4: Colecciones de Datos
    • Listas (list): creación, acceso, modificación, métodos.
    • Tuplas (tuple): creación, acceso.
    • Diccionarios (dict): creación, acceso, modificación, métodos.
    • Conjuntos (set): creación, operaciones básicas.
    • Mini-Proyecto 3: Gestor de Tareas Pendientes: Crear un programa que permita al usuario agregar, listar y marcar tareas como completadas.
Módulo 2: Programación Orientada a Objetos (POO)

  • Semana 5: Introducción a la POO
    • Conceptos fundamentales: clases, objetos, atributos, métodos.
    • Creación de clases y objetos en Python.
    • El método init (constructor).
    • Atributos de instancia y de clase.
    • Proyecto 1: Modelado de una Biblioteca: Diseñar clases para representar libros, autores y la biblioteca en sí, con métodos para agregar libros, buscar por autor, etc.
  • Semana 6: Herencia y Polimorfismo
    • Herencia simple y múltiple.
    • Sobrescritura de métodos.
    • La función super().
    • Polimorfismo a través de la herencia y "duck typing".
    • Ampliación del Proyecto 1: Implementar diferentes tipos de libros (e.g., novela, ensayo) que hereden de la clase base "Libro" y tengan atributos o comportamientos específicos.
  • Semana 7: Encapsulamiento y Abstracción
    • Control de acceso a atributos y métodos (convención de nombres con guion bajo).
    • Propiedades (@property).
    • Métodos estáticos (@staticmethod) y de clase (@classmethod).
    • Clases abstractas y métodos abstractos (módulo abc).
    • Mejora del Proyecto 1: Añadir funcionalidades para restringir el acceso a cierta información de los libros o autores y utilizar propiedades para un acceso controlado.
Módulo 3: Funciones y Módulos

  • Semana 8: Funciones
    • Definición y llamada de funciones.
    • Paso de argumentos (posicionales, por nombre, valores por defecto).
    • Retorno de valores.
    • Alcance de las variables (local y global).
    • Funciones anónimas (lambda).
    • Mini-Proyecto 4: Conversor de Unidades: Crear funciones para convertir entre diferentes unidades de medida (e.g., Celsius a Fahrenheit, kilómetros a millas).
  • Semana 9: Módulos y Paquetes
    • Importación de módulos (import, from ... import ..., as).
    • Creación de módulos propios.
    • Introducción a los paquetes y la estructura de un proyecto.
    • Exploración de la Biblioteca Estándar de Python (ejemplos: math, random, datetime).
    • Proyecto 2: Generador de Contraseñas Seguras: Desarrollar un programa que genere contraseñas aleatorias con diferentes niveles de complejidad, utilizando el módulo random.
Módulo 4: Manejo de Archivos y Errores

  • Semana 10: Manejo de Archivos
    • Apertura y cierre de archivos (open(), with open(...)).
    • Modos de apertura (lectura, escritura, añadido).
    • Lectura y escritura de archivos de texto.
    • Trabajo con archivos CSV y JSON (módulos csv y json).
    • Proyecto 3: Analizador de Registros: Crear un programa que lea un archivo de registro (por ejemplo, un archivo CSV con datos de ventas) y genere estadísticas básicas (total de ventas, promedio, etc.).
  • Semana 11: Manejo de Excepciones
    • ¿Qué son las excepciones y por qué ocurren?
    • Bloques try, except, finally.
    • Manejo de diferentes tipos de excepciones.
    • Creación de excepciones personalizadas.
    • Mejora del Proyecto 3: Implementar manejo de errores para posibles problemas al leer el archivo (e.g., archivo no encontrado, formato incorrecto).
Módulo 5: Introducción a Bibliotecas Populares y Proyectos Avanzados

  • Semana 12-13: Desarrollo Web con Flask o Django (Elige uno)
    • Flask:Microframework para desarrollo web.
      • Rutas y vistas.
      • Plantillas Jinja2.
      • Manejo de formularios.
      • Bases de datos (introducción a SQLAlchemy).
      • Proyecto 4a: Mini-Blog Personal: Crear una aplicación web sencilla donde los usuarios puedan ver publicaciones y quizás dejar comentarios.
    • Django:Framework web de alto nivel.
      • Estructura del proyecto Django.
      • Modelos, vistas y plantillas (MVT).
      • Administración de Django.
      • Formularios y validaciones.
      • Bases de datos (ORM de Django).
      • Proyecto 4b: Sistema de Gestión de Tareas Web: Desarrollar una aplicación web donde los usuarios puedan crear, asignar y seguir el progreso de las tareas.
  • Semana 14-15: Análisis de Datos con Pandas y NumPy
    • NumPy: Arrays numéricos y operaciones eficientes.
    • Pandas: DataFrames para manipulación y análisis de datos tabulares.
    • Carga y limpieza de datos.
    • Filtrado, ordenamiento y agrupación de datos.
    • Cálculos estadísticos básicos.
    • Visualización de datos con Matplotlib o Seaborn (introducción).
    • Proyecto 5: Análisis de un Dataset Público: Elegir un dataset público (e.g., datos de COVID-19, datos de calidad del aire) y realizar un análisis exploratorio utilizando Pandas y NumPy, generando algunas visualizaciones básicas.
  • Semana 16: Automatización y Tareas Comunes
    • Automatización de tareas del sistema operativo con os y shutil.
    • Web scraping básico con requests y Beautiful Soup.
    • Envío de correos electrónicos con smtplib.
    • Trabajo con APIs (introducción a requests).
    • Proyecto 6: Bot de Notificaciones: Crear un script que periódicamente consulte una fuente de información (e.g., una página web, una API) y envíe una notificación (por correo electrónico o a través de una plataforma) si hay cambios o nueva información.
Consideraciones Adicionales:

  • Aprendizaje Continuo: Python es un lenguaje en constante evolución. Es importante mantenerse actualizado sobre nuevas versiones, bibliotecas y mejores prácticas.
  • Comunidad: Participar en comunidades en línea (Stack Overflow, Reddit) y asistir a meetups puede ser muy beneficioso.
  • Control de Versiones con Git: Aprender a usar Git y plataformas como GitHub es esencial para cualquier desarrollador.
  • Testing: Introducción a pruebas unitarias con el módulo unittest o pytest.
  • Documentación: Aprender a escribir documentación clara y concisa para tus proyectos.
 
Última edición:
como serian los pasos a estudiar para poder avanzar progresivamente
No hay nada mejor que practicar en la consola (no dandole click al archivo.py)
ahi te indica los errores
crea códigos sencillos, así como va, de arriba hacia abajo
ya que agarres practica, ya puedes usar "for", "while", etc para hacer código/tareas repetitivas
también puedes ponerle prints para que veas que hace cada parte/línea
después ya puedes hacer todo el código usando funciones, con argumentos, return, etc
luego capturar datos en tiempo real en constantes, importar otros archivos .py
luego ya te entretienes probando imports/programas, colores, simbolos, paths, etc
ya si quieres llegar a más, puedes hacer programas con apis, json, cookies/headers, db, passwords, tokens,
desencriptar, hacer get/post, scraper de sitios de paga, etc.

y así ya después hasta puedes leer bien facil los errores, si usas "try/except"
o en la consola por ejemplo

in extraer_baseurl_video
root = ET.fromstring(xml_text)
File "C:\Users\...\AppData\Local\Programs\Python\Python313\Lib\xml\etree\ElementTree.py", line 1342, in XML
parser.feed(text)
~~~~~~~~~~~^^^^^^
TypeError: a bytes-like object is required, not 'NoneType'

que quiere decir que fallo la función "extraer_baseurl_video" en la línea 1342 en xml, por que no hay datos

pero eso de ver tutoriales medio avanzados tipo ecuaciones/sumas , y que no le entiendes que va a obtener al final ,
solo te confundes o te bloqueas y más si empiezas con un simple
print de "hola mundo" y luego te preguntas para que me sirve o que más sigue
 
Yo soy programador Y he vivido de eso muchos años

Mira yo te aconsejo que uses alguna inteligencia artificial como Gemini o Chat GPT para para que te guíe paso a paso como un tutor y te va a ser mucho más fácil.

De hecho que hoy se pueda contar con esa gran ayuda es una cosa magnífica que ya hubiera yo querido tener hace algunos años

Hoy podrías fácilmente usando las apis de Gemini,por ejemplo, que son gratuitas hacer algunas aplicaciones que utilicen la inteligencia artificial y tu programa tenga Un formulario que el usuario rellene Y le genere un artículo escrito en determinado idioma, según el haya elegido en el formulario y sobre un tema que haya indicado en el formulario y así muchas características como el tono pueden ser elegidas por el usuario, etc.

No es tan difícil como puede parecer, De hecho es bastante simple
Muchas gracias por esta respuesta estoy muy agradecido con los comentarios, estoy usando todo tipo de material desde pdf, bibliografías, documentación, veo lives y strimers que programan en vivo o explican, y sobre todo le dedico unas 6hs o mas diarias a practicar ver material y todo y la IA me ayuda muchísimo ene so también es como tu dices una gran ayuda y me esta solucionando muchas dudas y conceptos que capas en videos es difícil ver o no Tenes a quien consultar, mas en mi caso que no tengo a nadie conocido que se dedique a algo de esto. muchísimas gracias por tu ayuda ¡¡¡

PD: aconsejas estudiar una tecnicatura o algo corto para profesionalizarme mas en una rama ?? estaba pensando meterme en desarrollo de paj web ya q tengo conocimientos en diseño grafico e ilustración, pero veo q hoy en día es muy criticado por la alta demanda que casi todo el mundo q programa se va por ese lado. gracias ¡¡
 
usa la IA para que te arme un plan de estudio estructurado y a partir de eso empiece a explicarte paso a paso lo que debes aprender, incluso podrias decirle que lo vayan aplicando a un proyecto, asi iras viendo como aplicar cada cosa que aprendes, al final ese proyecto lo dejas como experiencia
Hola muchísimas gracias ¡¡ si si todos los días le dedico unas 6hs o más de estudio y la IA me ayuda un montón, solo que abecés la IA varia muchísimo en sus actividades mas si por dar un ejemplo practico bucles for y while en python con condicionales, métodos, tuplas, listas, conjuntos, ctrl de flujos.. etc... y luego que realice una cierta estructura de ejercicios la IA me cambia a otro tipo de ej o me realiza los mismos pero en dos o tres versiones diferentes, lo cual si bien da el mismo resultado me confunde mucho ya que no puedo captar una sola lineal de aprendizaje o un mismo estilo/linealidad de estructura de realización de los ejercicios, no se si me explico si bien trato de leer el código y entender que esta cumpliendo cada cosa me confunde un montón esa mezcla de ordenamientos, ( y eso que realice cursos de prompting de IA's )?? jaja abrazo grande gracias por tu respuesta ¡¡¡
 
No tengo a mano pero en general tú promp debe contener:

-idioma del texto
-tema
-extension
-tono
-estilo
-caracteristicas


Es decir debe especificar cada una de esas cosas

por características Me refiero a las cosas y Muy específicas que quieras pedirle por ejemplo le dices que sea en primera persona, Etc

como te recomendaron más arriba yo creo que usa la inteligencia artificial y que te vaya guiando

Dile que necesitas que te haga un temario muy detallado para que aprendas Phyton y que como parte de estos temarios vayas desarrollando proyectos de la vida real


yo creo que con eso es suficiente Si te va a hacer un buen temario y unos buenos proyectos








Acá lo que me dio a mí gemini





Temario Detallado de Python con Proyectos de la Vida Real

Módulo 1: Fundamentos de Python


  • Semana 1: Introducción y Configuración del Entorno
    • ¿Qué es Python? Historia, características y aplicaciones.
    • Instalación de Python en diferentes sistemas operativos (Windows, macOS, Linux).
    • Introducción a los entornos virtuales (virtualenv, venv).
    • Primer programa en Python: "¡Hola, mundo!".
    • Uso de un editor de código (VS Code, PyCharm, Sublime Text).
    • Introducción a la terminal o línea de comandos.
  • Semana 2: Tipos de Datos y Operadores
    • Tipos de datos básicos: enteros (int), decimales (float), booleanos (bool), cadenas de texto (str).
    • Operadores aritméticos, de comparación, lógicos y de asignación.
    • Precedencia de operadores.
    • Conversión de tipos de datos.
    • Mini-Proyecto 1: Calculadora Simple: Crear un programa que realice operaciones aritméticas básicas (suma, resta, multiplicación, división) basadas en la entrada del usuario.
  • Semana 3: Estructuras de Control de Flujo
    • Sentencias condicionales: if, elif, else.
    • Bucles for y while.
    • Uso de break y continue.
    • Mini-Proyecto 2: Adivina el Número: Desarrollar un juego donde la computadora elige un número aleatorio y el usuario intenta adivinarlo, recibiendo pistas como "mayor" o "menor".
  • Semana 4: Colecciones de Datos
    • Listas (list): creación, acceso, modificación, métodos.
    • Tuplas (tuple): creación, acceso.
    • Diccionarios (dict): creación, acceso, modificación, métodos.
    • Conjuntos (set): creación, operaciones básicas.
    • Mini-Proyecto 3: Gestor de Tareas Pendientes: Crear un programa que permita al usuario agregar, listar y marcar tareas como completadas.
Módulo 2: Programación Orientada a Objetos (POO)

  • Semana 5: Introducción a la POO
    • Conceptos fundamentales: clases, objetos, atributos, métodos.
    • Creación de clases y objetos en Python.
    • El método init (constructor).
    • Atributos de instancia y de clase.
    • Proyecto 1: Modelado de una Biblioteca: Diseñar clases para representar libros, autores y la biblioteca en sí, con métodos para agregar libros, buscar por autor, etc.
  • Semana 6: Herencia y Polimorfismo
    • Herencia simple y múltiple.
    • Sobrescritura de métodos.
    • La función super().
    • Polimorfismo a través de la herencia y "duck typing".
    • Ampliación del Proyecto 1: Implementar diferentes tipos de libros (e.g., novela, ensayo) que hereden de la clase base "Libro" y tengan atributos o comportamientos específicos.
  • Semana 7: Encapsulamiento y Abstracción
    • Control de acceso a atributos y métodos (convención de nombres con guion bajo).
    • Propiedades (@property).
    • Métodos estáticos (@staticmethod) y de clase (@classmethod).
    • Clases abstractas y métodos abstractos (módulo abc).
    • Mejora del Proyecto 1: Añadir funcionalidades para restringir el acceso a cierta información de los libros o autores y utilizar propiedades para un acceso controlado.
Módulo 3: Funciones y Módulos

  • Semana 8: Funciones
    • Definición y llamada de funciones.
    • Paso de argumentos (posicionales, por nombre, valores por defecto).
    • Retorno de valores.
    • Alcance de las variables (local y global).
    • Funciones anónimas (lambda).
    • Mini-Proyecto 4: Conversor de Unidades: Crear funciones para convertir entre diferentes unidades de medida (e.g., Celsius a Fahrenheit, kilómetros a millas).
  • Semana 9: Módulos y Paquetes
    • Importación de módulos (import, from ... import ..., as).
    • Creación de módulos propios.
    • Introducción a los paquetes y la estructura de un proyecto.
    • Exploración de la Biblioteca Estándar de Python (ejemplos: math, random, datetime).
    • Proyecto 2: Generador de Contraseñas Seguras: Desarrollar un programa que genere contraseñas aleatorias con diferentes niveles de complejidad, utilizando el módulo random.
Módulo 4: Manejo de Archivos y Errores

  • Semana 10: Manejo de Archivos
    • Apertura y cierre de archivos (open(), with open(...)).
    • Modos de apertura (lectura, escritura, añadido).
    • Lectura y escritura de archivos de texto.
    • Trabajo con archivos CSV y JSON (módulos csv y json).
    • Proyecto 3: Analizador de Registros: Crear un programa que lea un archivo de registro (por ejemplo, un archivo CSV con datos de ventas) y genere estadísticas básicas (total de ventas, promedio, etc.).
  • Semana 11: Manejo de Excepciones
    • ¿Qué son las excepciones y por qué ocurren?
    • Bloques try, except, finally.
    • Manejo de diferentes tipos de excepciones.
    • Creación de excepciones personalizadas.
    • Mejora del Proyecto 3: Implementar manejo de errores para posibles problemas al leer el archivo (e.g., archivo no encontrado, formato incorrecto).
Módulo 5: Introducción a Bibliotecas Populares y Proyectos Avanzados

  • Semana 12-13: Desarrollo Web con Flask o Django (Elige uno)
    • Flask:Microframework para desarrollo web.
      • Rutas y vistas.
      • Plantillas Jinja2.
      • Manejo de formularios.
      • Bases de datos (introducción a SQLAlchemy).
      • Proyecto 4a: Mini-Blog Personal: Crear una aplicación web sencilla donde los usuarios puedan ver publicaciones y quizás dejar comentarios.
    • Django:Framework web de alto nivel.
      • Estructura del proyecto Django.
      • Modelos, vistas y plantillas (MVT).
      • Administración de Django.
      • Formularios y validaciones.
      • Bases de datos (ORM de Django).
      • Proyecto 4b: Sistema de Gestión de Tareas Web: Desarrollar una aplicación web donde los usuarios puedan crear, asignar y seguir el progreso de las tareas.
  • Semana 14-15: Análisis de Datos con Pandas y NumPy
    • NumPy: Arrays numéricos y operaciones eficientes.
    • Pandas: DataFrames para manipulación y análisis de datos tabulares.
    • Carga y limpieza de datos.
    • Filtrado, ordenamiento y agrupación de datos.
    • Cálculos estadísticos básicos.
    • Visualización de datos con Matplotlib o Seaborn (introducción).
    • Proyecto 5: Análisis de un Dataset Público: Elegir un dataset público (e.g., datos de COVID-19, datos de calidad del aire) y realizar un análisis exploratorio utilizando Pandas y NumPy, generando algunas visualizaciones básicas.
  • Semana 16: Automatización y Tareas Comunes
    • Automatización de tareas del sistema operativo con os y shutil.
    • Web scraping básico con requests y Beautiful Soup.
    • Envío de correos electrónicos con smtplib.
    • Trabajo con APIs (introducción a requests).
    • Proyecto 6: Bot de Notificaciones: Crear un script que periódicamente consulte una fuente de información (e.g., una página web, una API) y envíe una notificación (por correo electrónico o a través de una plataforma) si hay cambios o nueva información.
Consideraciones Adicionales:

  • Aprendizaje Continuo: Python es un lenguaje en constante evolución. Es importante mantenerse actualizado sobre nuevas versiones, bibliotecas y mejores prácticas.
  • Comunidad: Participar en comunidades en línea (Stack Overflow, Reddit) y asistir a meetups puede ser muy beneficioso.
  • Control de Versiones con Git: Aprender a usar Git y plataformas como GitHub es esencial para cualquier desarrollador.
  • Testing: Introducción a pruebas unitarias con el módulo unittest o pytest.
  • Documentación: Aprender a escribir documentación clara y concisa para tus proyectos.
MUCHAS GRACIAS ¡¡¡, ese aporte es muy bueno yo uso el prompting casi igual por unos cursos de democratización de la IA, el tema es que la IA para estos temarios me es una maravilla, pero en mi caso me deja de ser funcional al practicar ejercicios mas que nada, supongamos que tengo que practicar lo básico de python por ej ejercicios de bucles, donde contenga estructuras de control y flujo mas métodos y listas, tuplas, conjuntos, etc... la IA lo que hace es que en cada ejercicio varia muchísimo su forma de realizarlo y su metodología lo cual llega a serme muy confuso por que no tiene una linealidad de aprendizaje, va variando entre llamemos "estilos o ejecuciones de armado" lo cual hoy realizo un ejercicio de encontrar números pares en una lista y la realizo de una forma, luego me da el mismo ejercicio de otra manera diferente unas 4 veces y todas echas diferentes y la verdad me confunde y me cuesta entender como y q linealidad tomar en mi camino de aprendizaje ya que veo q memorizar 4 formas de hacer un ejercicio es imposible jaja y eso me frena mucho en mi estudio lineal de autodidacta... nos e si me explique o arme alto lio... gracias miles por tu respuesta y aporte muy agradecido ¡¡¡¡
 
No hay nada mejor que practicar en la consola (no dandole click al archivo.py)
ahi te indica los errores
crea códigos sencillos, así como va, de arriba hacia abajo
ya que agarres practica, ya puedes usar "for", "while", etc para hacer código/tareas repetitivas
también puedes ponerle prints para que veas que hace cada parte/línea
después ya puedes hacer todo el código usando funciones, con argumentos, return, etc
luego capturar datos en tiempo real en constantes, importar otros archivos .py
luego ya te entretienes probando imports/programas, colores, simbolos, paths, etc
ya si quieres llegar a más, puedes hacer programas con apis, json, cookies/headers, db, passwords, tokens,
desencriptar, hacer get/post, scraper de sitios de paga, etc.

y así ya después hasta puedes leer bien facil los errores, si usas "try/except"
o en la consola por ejemplo

in extraer_baseurl_video
root = ET.fromstring(xml_text)
File "C:\Users\...\AppData\Local\Programs\Python\Python313\Lib\xml\etree\ElementTree.py", line 1342, in XML
parser.feed(text)
~~~~~~~~~~~^^^^^^
TypeError: a bytes-like object is required, not 'NoneType'

que quiere decir que fallo la función "extraer_baseurl_video" en la línea 1342 en xml, por que no hay datos

pero eso de ver tutoriales medio avanzados tipo ecuaciones/sumas , y que no le entiendes que va a obtener al final ,
solo te confundes o te bloqueas y más si empiezas con un simple
print de "hola mundo" y luego te preguntas para que me sirve o que más sigue
Hola muchas gracias por tu respuesta ¡¡ exactamente todo eso estoy tratando de realizar, ir lento aprendiendo todo de mas a menos y no adelantarme , cada tanto hago algún proyecto grande con alguna librería con ayuda de la IA por mas q no entienda nada o poco, voy viendo como se trabaja y de que sirve aprender esto, también de esa forma me convenzo que esto no es al dope que tiene un fin y es divertido dentro de todo, igualmente como comente anterior mente el problema ams grande mío es que como voy de autodidacta, me complica mucho seguir una linealidad o hacer ejercicios que de a poco sumen complejidad, en este momento con ayuda de la IA realizo ejercicios de bucles for y while con métodos, tuplas, diccionarios, controles de flujo, condicionales, matrix7matrices, etc pero me cuesta muchísimo darme cuenta como comenzar un ejercicio o entender las consignas que me da la IA ya que a veces es media floja y no pone bien las consignas o aveces un mismo ejercicio me lo hace hacer de 4 formas diferentes y no termino entendiendo bien como se utiliza o realiza tal o cual ejercicio, este ultimo tiempo por ej no se como progresar mis practicas siento que me cuesta mucho entender, leer y usar la lógica, estoy también aprendiendo con raptor los diagramas de flujo y todo eso o lápiz y papel muchas veces también gracias un abrazo ¡¡

pd: uso mucho la IA, pdf's descargados como armados por mi con info que encuentro, leo, armo, bibliografías, lives de clases universitarias, foros etc.... jaja de algo tendrá q servir o yo soy muy cabeza dura capas para esto jaja
 
PD: aconsejas estudiar una tecnicatura o algo corto para profesionalizarme mas en una rama ??


 
entender las consignas que me da la IA
el problema de la inteligencia es que te contesta como si ya supieras todo
y más te confunde cuando al final te pregunta por ejemplo:
¿le agrego esto o prefieres aquello?
cuando todavía ni sabes donde cambiaras el nuevo código y si funcionara

también si le pones varios bloques de código, te va a empezar a "corregir", agregar, todo
lo que piensa que te falta, sin saber o sin probarlo
por eso es más fácil hacer tu código en partes, por ejemplo :

No darle o decirle que hace todo tu código.

si haces un código/script para desencriptar video/audio,
solo le dices: como bajo la url mpd, entonces ya tienes la función
def bajar_mpd
después: como desencripto audio/video
y ya tienes def desencriptar
y así, en unir/convertir

entonces, con los prints "temporales" vas viendo parte por parte
si funciona todo junto o si no, tu mismo ya sabes que parte fallo
y ya solo le dirias: en esta parte, ¿qué me fallo?
y así ya no te bloqueas si te da todo un buen de bloques, que es lo más probable que falle
 
Creo que tú problema realmente es que no tienes lógica de programación. Ahora se volvió muy complicado desarrollar eso porque todo se lo estamos pidiendo a la IA.

Mi consejo: deja de utilizar la IA

Sí, suena tonto, pero, ¿antes como aprendían las personas? Sin ayuda, sin IA, solo practicando.


Intenta aprender a la antigua, desactiva la IA de tu VSC, e intenta resolver los ejercicios tú solo, no importa si te lleva muchas lineas de código, eso está bien, así se aprende.

Para lo que sí puedes usar la IA es para pedirle que te dé unos 3 ejercicios por tema, eso te ayudará poco a poco a ir avanzando en tu camino de aprender programación.
 
Creo que tú problema realmente es que no tienes lógica de programación. Ahora se volvió muy complicado desarrollar eso porque todo se lo estamos pidiendo a la IA.

Mi consejo: deja de utilizar la IA

Sí, suena tonto, pero, ¿antes como aprendían las personas? Sin ayuda, sin IA, solo practicando.


Intenta aprender a la antigua, desactiva la IA de tu VSC, e intenta resolver los ejercicios tú solo, no importa si te lleva muchas lineas de código, eso está bien, así se aprende.

Para lo que sí puedes usar la IA es para pedirle que te dé unos 3 ejercicios por tema, eso te ayudará poco a poco a ir avanzando en tu camino de aprender programación.
Una consulta respecto a esto de la lógica, es un poco filosófica la pregunta pero que seria la lógica de programación que tanto hablan muchos programadores ya que muchos tienen conceptos diferentes, para algunos es realizar diagramas de flujo y pseudocodigo, otros es saber leer e interpretar el código que tipeas, otros es solo hacer muchos ejercicios todos los días y a fulll lo mas q se pueda, otros tienen el concepto que la lógica solos e obtiene estudiando carreras y que allí los profesores te guían mucho mas ya q la programación no es solo un diagrama y escribir tiene matemática y cosas que nos e ven y así podríamos seguir... espero se entienda gracias ¡¡

pd: La inteligencia artificial no la tengo en el vscode solo le pido por navegador que me haga ejercicios y los realizo copiando solo el encabezado y trato de interpretarlo si algo no me sale recién allí veo la resolución y veo q estoy haciendo mal, o veo de ultima instancia el resultado del ejercicio si da correcto, un ejemplo seria este q dejo aquí.
 

Adjuntos

  • 25 - sistema vacacional empleados empresa.webp
    25 - sistema vacacional empleados empresa.webp
    530,8 KB · Visitas: 3
Creo que tú problema realmente es que no tienes lógica de programación. Ahora se volvió muy complicado desarrollar eso porque todo se lo estamos pidiendo a la IA.

Mi consejo: deja de utilizar la IA

Sí, suena tonto, pero, ¿antes como aprendían las personas? Sin ayuda, sin IA, solo practicando.


Intenta aprender a la antigua, desactiva la IA de tu VSC, e intenta resolver los ejercicios tú solo, no importa si te lleva muchas lineas de código, eso está bien, así se aprende.

Para lo que sí puedes usar la IA es para pedirle que te dé unos 3 ejercicios por tema, eso te ayudará poco a poco a ir avanzando en tu camino de aprender programación.

Logica y algoritmo... esa es la base de todo... si o si te tiene que gustar y tienes que hacerlo por gusto y pasión...
 
Una consulta respecto a esto de la lógica, es un poco filosófica la pregunta pero que seria la lógica de programación que tanto hablan muchos programadores ya que muchos tienen conceptos diferentes, para algunos es realizar diagramas de flujo y pseudocodigo, otros es saber leer e interpretar el código que tipeas, otros es solo hacer muchos ejercicios todos los días y a fulll lo mas q se pueda, otros tienen el concepto que la lógica solos e obtiene estudiando carreras y que allí los profesores te guían mucho mas ya q la programación no es solo un diagrama y escribir tiene matemática y cosas que nos e ven y así podríamos seguir... espero se entienda gracias ¡¡

pd: La inteligencia artificial no la tengo en el vscode solo le pido por navegador que me haga ejercicios y los realizo copiando solo el encabezado y trato de interpretarlo si algo no me sale recién allí veo la resolución y veo q estoy haciendo mal, o veo de ultima instancia el resultado del ejercicio si da correcto, un ejemplo seria este q dejo aquí.
Es el flujo, esa es la lógica de la programación

y para evitar que la inteligencia artificial te hable como si ya supieras siempre dile que necesitas que te explique algo extensa y ampliamente.

Y de última le pones que te lo explique para principiante también, es decir ampliamente y para principiantes.

Por ejemplo:

' necesito que me expliques amplia y detalladamente, para principiantes, a qué se refieren con la lógica de la programación'

Ese es un prompt.






Le pregunté a Gemini y esta es la respuesta:



Hola! Claro que sí, con gusto te explico la lógica de la programación de una manera sencilla y detallada. Imagina que eres un detective tratando de resolver un misterio, o un chef siguiendo una receta para preparar un platillo delicioso. La lógica de la programación es como el conjunto de pasos, reglas y razonamientos que utilizas para llegar a la solución del misterio o al plato perfecto.

En esencia, la lógica de la programación es la organización y estructuración de las instrucciones que le das a una computadora para que realice una tarea específica. Es el "cómo" detrás de cualquier programa, aplicación o software que utilizas en tu día a día. Sin lógica, una computadora no sabría qué hacer ni cómo hacerlo de manera coherente.

Piensa en ello como darle órdenes claras y secuenciales a alguien que no sabe absolutamente nada del problema que quieres resolver. Cada paso debe ser preciso y seguir un orden lógico para que la persona (en este caso, la computadora) pueda entender y ejecutar la tarea correctamente.

Aquí te desgloso los componentes clave de la lógica de la programación para principiantes:

1. Instrucciones:

  • Son las acciones individuales que le indicas a la computadora que realice. Cada instrucción es un paso específico en la resolución del problema.
  • Imagina que estás dando instrucciones para hacer una taza de café: "Sacar la cafetera", "Llenar el tanque con agua", "Colocar el filtro", "Añadir café molido", "Encender la cafetera", "Servir en una taza". Cada una de estas es una instrucción.
  • En programación, estas instrucciones se escriben en un lenguaje que la computadora puede entender (un lenguaje de programación como Python, Java, JavaScript, etc.).
2. Secuencia:

  • Las instrucciones generalmente se ejecutan en un orden específico, de arriba a abajo. El orden en que das las instrucciones es crucial para obtener el resultado deseado.
  • Volviendo al ejemplo del café, no puedes "Servir en una taza" antes de "Encender la cafetera". El orden de las acciones importa.
  • En programación, la secuencia de las instrucciones dentro de un programa determina el flujo de ejecución.
3. Toma de Decisiones (Condicionales):

  • A menudo, necesitas que tu programa tome diferentes caminos dependiendo de ciertas condiciones. Esto se logra mediante estructuras condicionales como "SI esto es verdadero, ENTONCES haz esto, SINO haz aquello".
  • Piensa en el ejemplo de un semáforo: SI la luz está en verde, ENTONCES puedes avanzar; SINO (si está en rojo o amarillo), ENTONCES debes detenerte.
  • En programación, las estructuras if, else if (o elif), y else permiten que el programa ejecute diferentes bloques de código basados en si una condición es verdadera o falsa.
4. Repetición (Bucles):

  • A veces, necesitas realizar una misma acción varias veces. En lugar de escribir la misma instrucción repetidamente, utilizas bucles para automatizar la repetición.
  • Imagina que quieres contar del 1 al 10. En lugar de escribir "Mostrar 1", "Mostrar 2", ..., "Mostrar 10", puedes usar un bucle que repita la acción de "Mostrar el número actual" diez veces, incrementando el número en cada repetición.
  • En programación, los bucles for y while son estructuras que permiten ejecutar un bloque de código múltiples veces hasta que se cumpla una determinada condición.
5. Variables:

  • Las variables son como contenedores donde puedes guardar información que tu programa necesita utilizar. Esta información puede cambiar a lo largo de la ejecución del programa.
  • Piensa en una receta donde necesitas la cantidad de harina. "Cantidad de harina" sería la variable, y el valor que almacena podría ser "2 tazas". Si quieres hacer una porción más grande, el valor de la variable cambiaría.
  • En programación, las variables tienen un nombre y almacenan diferentes tipos de datos (números, texto, etc.).
6. Operadores:

  • Los operadores son símbolos que te permiten realizar operaciones con las variables y los valores. Hay diferentes tipos de operadores:
    • Aritméticos: Para realizar cálculos (+, -, *, /, etc.).
    • De comparación: Para comparar valores (==, !=, >, <, >=, <=).
    • Lógicos: Para combinar condiciones (AND, OR, NOT).
  • En el ejemplo de la receta, podrías usar un operador de suma si necesitas combinar dos cantidades de un ingrediente. En las condiciones, usarías operadores de comparación para verificar si tienes suficiente cantidad de un ingrediente.
En resumen, la lógica de la programación se trata de:

  • Pensar de forma estructurada: Descomponer un problema grande en pasos más pequeños y manejables.
  • Ser preciso: Cada instrucción debe ser clara y sin ambigüedades.
  • Seguir un orden lógico: Las instrucciones deben ejecutarse en la secuencia correcta para alcanzar el objetivo.
  • Considerar diferentes escenarios: Utilizar la toma de decisiones para que el programa se comporte de manera inteligente en diversas situaciones.
  • Automatizar tareas repetitivas: Emplear bucles para evitar la repetición innecesaria de código.
  • Manejar información: Utilizar variables para almacenar y manipular datos.
  • Realizar operaciones y comparaciones: Usar operadores para trabajar con los datos y tomar decisiones.
A medida que comiences a aprender un lenguaje de programación, verás cómo estos conceptos de lógica se traducen en código real. Practicar la resolución de pequeños problemas y la creación de programas sencillos te ayudará a fortalecer tu comprensión de la lógica de la programación.

¡No te desanimes si al principio parece un poco abstracto! Con la práctica y la experimentación, la lógica de la programación se volverá más intuitiva y te abrirá un mundo de posibilidades para crear cosas increíbles con la tecnología. ¡Mucha suerte en tu camino de aprendizaje! ¿Tienes alguna otra pregunta?
 
Última edición:
Logica y algoritmo... esa es la base de todo... si o si te tiene que gustar y tienes que hacerlo por gusto y pasión...
Es el flujo, esa es la lógica de la programación

y para evitar que la inteligencia artificial te hable como si ya supieras siempre dile que necesitas que te explique algo extensa y ampliamente.

Y de última le pones que te lo explique para principiante también, es decir ampliamente y para principiantes.

Por ejemplo:

' necesito que me expliques amplia y detalladamente, para principiantes, a qué se refieren con la lógica de la programación'

Ese es un prompt.
el problema de la inteligencia es que te contesta como si ya supieras todo
y más te confunde cuando al final te pregunta por ejemplo:
¿le agrego esto o prefieres aquello?
cuando todavía ni sabes donde cambiaras el nuevo código y si funcionara

también si le pones varios bloques de código, te va a empezar a "corregir", agregar, todo
lo que piensa que te falta, sin saber o sin probarlo
por eso es más fácil hacer tu código en partes, por ejemplo :

No darle o decirle que hace todo tu código.

si haces un código/script para desencriptar video/audio,
solo le dices: como bajo la url mpd, entonces ya tienes la función
def bajar_mpd
después: como desencripto audio/video
y ya tienes def desencriptar
y así, en unir/convertir

entonces, con los prints "temporales" vas viendo parte por parte
si funciona todo junto o si no, tu mismo ya sabes que parte fallo
y ya solo le dirias: en esta parte, ¿qué me fallo?
y así ya no te bloqueas si te da todo un buen de bloques, que es lo más probable que falle
Muchísimas gracias por todas sus respuestas los leo muy atento por mas que no conteste a cada uno cualquier ayuda y respuesta me encanta y la super tomo nota y agradezco gracias a todos ¡¡¡
 
Muchísimas gracias por todas sus respuestas los leo muy atento por mas que no conteste a cada uno cualquier ayuda y respuesta me encanta y la super tomo nota y agradezco gracias a todos ¡¡¡
A mi respuesta anterior le agregué lo que me respondió Gémini
 
A mi respuesta anterior le agregué lo que me respondió Gémini
Muchísimas gracias ya cree un word con toda la info y dichas guías q me pasan muy agradecido ¡¡ pronto las imprimiré para tenerlas como bibliografía de estudio en mi escritorio donde programa y estudio para poder tener todo a mano, muy agradecido por su tiempo ¡¡¡
 
Atrás
Arriba