Autor Tema: Aprovechando la cuarentena para aprender a programar en Python  (Leído 1998 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Antolin

  • VIP
  • *
  • Mensajes: 386
  • Gracias 48
  • Ciudad: Oviedo, Asturias
Advertisement
Salu2, siempre quise aprender a programar, así que al final voy a aprovechar el tema de la cuarentena y me voy a poner a ello.

Lo primero es elegir un lenguaje y después de leer sobre el tema por internet me decidí por Python 3, ya que es el lenguaje que recomiendan en muchos sitios por su sencillez comparado con otros lenguajes.

Soy una persona muy curiosa, por lo que siempre me gustó investigar y aprender por mi mismo, que suele ser la manera más lenta, pero soy así de raro, que le vamos a hacer...

El motivo de este post es para animar a más gente que esté igual que yo y así aprender entre todos. Imagino que también habrá gente en el foro que ya sepa programar y pueda dar consejos o ayudar con las dudas que vayan surgiendo.

De momento voy a poner aquí los recursos que me parezcan más interesantes para aprender Python 3 desde mi desconocimiento  sobre programación. Vamos, que serán los que a mi me parezcan que se explican mejor para mi nivel, ya que hay algún sitio, libro, etc., que da igual que lo leas que te quedas igual que estabas o peor... ;)

Yo de momento empecé a leer la web pythones.net, que lo explica bastante bien (por lo menos para mis conocimientos).
Según encuentre cosas interesantes las iré poniendo aquí.

Bueno, no me enrollo más, si alguien más se anima a aprender aquí podemos ir compartiendo dudas y recursos.

1SaluDT




Desconectado iOtero

  • VIP
  • *
  • Mensajes: 2961
  • Gracias 104
  • Ciudad: Uno de Bilbao en Villanueva de la Cañada (Madrid)
  • Pais: España
  • Iniciales nick: ioc
Re:Aprovechando la cuarentena para aprender a programar en Python
« Respuesta #1 en: Marzo 17, 2020, 03:20:35 pm »
En otro momento quizás, compi, porque con la raspberry me habría venido muy bien aprender python... 

Ahora estoy enfrascado en mi segunda novela y no puedo hacerlo, quizás más adelante, pero que conste que me parece una buenísima idea.  ;D


Desconectado Antolin

  • VIP
  • *
  • Mensajes: 386
  • Gracias 48
  • Ciudad: Oviedo, Asturias
Re:Aprovechando la cuarentena para aprender a programar en Python
« Respuesta #2 en: Marzo 17, 2020, 04:24:37 pm »
Enhorabuena por la primera y ánimo con la segunda iOtero.

Yo ire colgando aquí lo que vea interesante, si un día te animas ya sabes donde buscar ;)

1SaluDT

Desconectado Josepzin

  • VIP
  • *
  • Mensajes: 2219
  • Gracias 38
  • Habitacus!
    • Blog
  • Ciudad: Carthago Miriya
  • Pais: Argentina
Re:Aprovechando la cuarentena para aprender a programar en Python
« Respuesta #3 en: Marzo 17, 2020, 05:04:33 pm »
Yo toqué un par de veces Python y a primera vista parece bastante distinto a lo que estoy acostumbrado, que es PHP y Javascript.

Desconectado Antolin

  • VIP
  • *
  • Mensajes: 386
  • Gracias 48
  • Ciudad: Oviedo, Asturias
Re:Aprovechando la cuarentena para aprender a programar en Python
« Respuesta #4 en: Marzo 17, 2020, 05:34:53 pm »
Yo aprendí html y css. Luego intenté con por php y JavaScript pero no me animé a seguir :D
Por lo que llevo mirado parece más fácil python para aprender y luego imagino que cambiar de lenguaje será cuestion de aprender la sintaxis.
1SaluDT

Desconectado empardopo

  • Admin
  • *
  • Mensajes: 21746
  • Gracias 761
  • Espero mejorar al KungFu Master!
    • Mi canal de Youtube
  • Ciudad: Norte de África
  • Pais: Escoña
  • Iniciales nick: EPP
Re:Aprovechando la cuarentena para aprender a programar en Python
« Respuesta #5 en: Marzo 17, 2020, 07:59:37 pm »
Muy interesante compi! Interesante eso de que añadas los recursos que encuentres interesantes.
A mí me llamaba la atención poder hacer un ejecutable con python que pudiera correr en windows y también el tema web pero lo dejé pendiente y hasta hoy... :-(

Desconectado sirdrak

  • VIP
  • *
  • Mensajes: 1327
  • Gracias 60
  • Ciudad: Sevilla
Re:Aprovechando la cuarentena para aprender a programar en Python
« Respuesta #6 en: Marzo 17, 2020, 09:23:12 pm »
Yo los únicos Python que conozco son estos:



 ;D

« Última modificación: Marzo 18, 2020, 09:29:51 pm por sirdrak »

Desconectado Antolin

  • VIP
  • *
  • Mensajes: 386
  • Gracias 48
  • Ciudad: Oviedo, Asturias
Re:Aprovechando la cuarentena para aprender a programar en Python
« Respuesta #7 en: Marzo 18, 2020, 11:29:00 am »
Jjajaja, pues que sepas que el nombre es en honor a la serie de los Monty Python.

Estoy pensando que podemos aprender todos a la vez. Voy a ir haciendo post "traduciendo" a idioma más comprensible lo que vaya aprendiendo. Voy a empezar desde el principio y así me sirve de repaso.
Qué os parece?

Desconectado Josepzin

  • VIP
  • *
  • Mensajes: 2219
  • Gracias 38
  • Habitacus!
    • Blog
  • Ciudad: Carthago Miriya
  • Pais: Argentina
Re:Aprovechando la cuarentena para aprender a programar en Python
« Respuesta #8 en: Marzo 18, 2020, 12:09:21 pm »
Jjajaja, pues que sepas que el nombre es en honor a la serie de los Monty Python.

Esto no lo sabía!

Desconectado empardopo

  • Admin
  • *
  • Mensajes: 21746
  • Gracias 761
  • Espero mejorar al KungFu Master!
    • Mi canal de Youtube
  • Ciudad: Norte de África
  • Pais: Escoña
  • Iniciales nick: EPP
Re:Aprovechando la cuarentena para aprender a programar en Python
« Respuesta #9 en: Marzo 18, 2020, 07:05:35 pm »
Jjajaja, pues que sepas que el nombre es en honor a la serie de los Monty Python.

Estoy pensando que podemos aprender todos a la vez. Voy a ir haciendo post "traduciendo" a idioma más comprensible lo que vaya aprendiendo. Voy a empezar desde el principio y así me sirve de repaso.
Qué os parece?
Genial, magnífico y estupendo...

Enviado desde mi MI MAX 2 mediante Tapatalk


Desconectado Antolin

  • VIP
  • *
  • Mensajes: 386
  • Gracias 48
  • Ciudad: Oviedo, Asturias
Re:Aprovechando la cuarentena para aprender a programar en Python
« Respuesta #10 en: Marzo 18, 2020, 09:09:39 pm »
Lo primero que quiero decir es que yo no tengo ni idea de programación, y que voy a ir aprendiendo a la vez que voy escribiendo estos post.

Osea, me estás diciendo que vas a enseñar algo que tu tampoco sabes?
Pues si, con dos cojones!!

En principio voy a seguir el tutorial de la web pythones.net, así que no me venga nadie luego diciendo que estoy plagiando a esa web. Como ya dije, mi intención es ir aprendiendo yo y de paso intentar "traducirlo" a un lenguaje más coloquial para que se anime más gente a aprender y de paso que me sirva a mi como refuerzo.

Bueno, pues empezamos!!

Según wikipedia:
Python es un lenguaje de programación interpretado cuya filosofía hace hincapié en la legibilidad de su código.? Se trata de un lenguaje de programación multiparadigma, ya que soporta orientación a objetos, programación imperativa y, en menor medida, programación funcional.

Menudo rollo en dos líneas no?
Seguro que más de uno dirá:

"yo voy a aprender eso que ni siquiera entiendo? que le den por culo"

Pues la verdad es que yo tampoco lo entiendo muy bien, pero si quieres entender lo que significan esas tres líneas, en la web que os comento os lo explican muy bien. Aunque tampoco creo que tengamos que entender eso para aprender a programar.

Lo primero que necesitamos es descargarnos Python. Lógico no?

Pues venga, aquí os dejo el link para que no tengáis que buscarlo. (Al momento de escribir esto la última versión disponible es la 3.8.2)



Descargar Python

No creo que tenga que explicaros como instalar un programa no?
Ahora mismo no recuerdo como lo decía al instalar, pero cuando os pregunte u os de la opción decir que si queréis añadir Python al path.

Ahora que ya tenemos python instalado sería recomendable instalar un programilla donde escribir el código y probarlo. Hay muchos, gratuitos y de pago, pero como en la web que estoy usando como referencia recomiendan uno en concreto yo os voy a recomendar el mismo. Cuando aprendamos ya elegirá cada uno el que más le guste.

Descargar Geany



Ya tenemos lo necesario para empezar a programar en python!!

Ahora debería explicaros el tema de la sintaxis y demás, pero es mucho más sencillo si os digo que como cualquier idioma, python tiene sus palabras y forma de ordenarlas. Pero eso ya lo iremos aprendiendo según vayamos escribiendo código. Acostúmbrate a ver “Sintax Error!” durante el aprendizaje.  ;D

Hay dos formas de decirle a python lo que queremos que haga (instrucciones):
  • las que empiezan y terminan en la misma línea (instrucciones simples)
Código: [Seleccionar]
#las líneas que empiezan con el símbolo"#" son comentarios y el programa los ignora
 a = 10     # esto también es un comentario
 b = 5
En este caso le decimos a python que "a" vale 10 y "b" vale 5

  • las que ocupan más de una línea (compuestas)
Código: [Seleccionar]
# comienzan con una cláusula de sentencia compuesta y terminan con ":"  continuan debajo con una identación conformando así un bloque de código
 if a == b:
     print ('a y b son iguales')
    En este caso le decimos a python que si "a" es igual a "b" nos muestre el mensaje "a y b son iguales"

Bueno, pues creo que como introducción ya está bien. Mañana más  ;)

Cómo dices?
Que no tienes paciencia y quieres irte a la cama hoy habiendo escrito tu primer programa en python?

Pues venga, si te hace feliz vamos a escribir el típico "hola mundo" con el que se suele empezar en todos los lenguajes:

Abre Geany que para eso lo hemos instalado.
escribe lo siguiente:
Código: [Seleccionar]
print('Hola mundo')

 Ahora guarda el archivo con el nombre que quieras y la extensión ".py" y ejecútalo pulsando el botón "ejecutar".



Se abrirá esta ventana mostrando el resultado de nuestro primer programa en python




Enhorabuena!!! ya sabes programar en python, poco a poco iremos complicando la cosa, pero hoy ya te puedes ir satisfecho a la cama  ;)

Desconectado Antolin

  • VIP
  • *
  • Mensajes: 386
  • Gracias 48
  • Ciudad: Oviedo, Asturias
Re:Aprovechando la cuarentena para aprender a programar en Python
« Respuesta #11 en: Marzo 19, 2020, 08:33:49 pm »
FUNCIONES

Pues hoy le toca a las funciones, parece un poco lío según lees la definición de función, pero vamos a ver si lo podemos aclarar un poco.

Definición de función:

Una función es un conjunto de líneas de código que realizan una tarea específica y pueden tomar Argumentos para diferentes Parámetros que modifiquen su funcionamiento y los datos de salida. Una función nos permite implementar operaciones que son frecuentemente utilizadas en un programa y así reducir la cantidad de código.

Traducido al lenguaje de los novatos como yo, quiere decir que es una parte de nuestro programa que hace algo con unos datos que le demos y nos devuelve un resultado.

Un ejemplo fácil de entender sería el de una licuadora, depende de las frutas que le metamos nos dará un zumo u otro.

Ya has utilizado una función en el post anterior, recuerdas el hola mundo?
En ese caso, utilizamos la función “print()”, que ya viene definida en el código de python, por lo que no tuvimos que declararla anteriormente. Y es que hay funciones que ya vienen predefinidas por el lenguaje para que podamos usarlas directamente, sin necesidad de declararlas primero, aunque también podemos crear (definir) las nuestras.

Vamos a ver un poco de código,  que para eso estamos aquí no?

Para utilizar una función primero hay que declararla, para que el programa sepa qué es lo que le estamos pidiendo (lógico).

En este caso vamos a declarar una función que va a servir para sumar dos números que le pasemos:



Ahora ya hemos declarado la función “Suma” en este programa de python, por lo que cuando queramos utilizarla tan solo tendremos que llamar a la función pasándole los números (argumentos) que queramos sumar.



Ahora si hacemos clic en ejecutar, el programa nos devolverá el resultado de la suma.
Podemos utilizar (llamar) la función que creamos tantas veces como necesitemos cambiando los números que queramos sumar.





Fácil verdad?

Aunque esto se puede complicar tanto como necesitemos (ya lo veremos más adelante), pero de momento creo que no es necesario.
Que estamos aprendiendo y no queremos desanimarnos coño!  ;)

Ánimo, que dentro de nada ya estamos creando nuestros primeros programas :)
« Última modificación: Marzo 19, 2020, 08:48:26 pm por Antolin »

Desconectado Josepzin

  • VIP
  • *
  • Mensajes: 2219
  • Gracias 38
  • Habitacus!
    • Blog
  • Ciudad: Carthago Miriya
  • Pais: Argentina
Re:Aprovechando la cuarentena para aprender a programar en Python
« Respuesta #12 en: Marzo 20, 2020, 01:38:01 pm »
Una de las cosas buenas de Python es que obliga a indentar :D

Desconectado Antolin

  • VIP
  • *
  • Mensajes: 386
  • Gracias 48
  • Ciudad: Oviedo, Asturias
Re:Aprovechando la cuarentena para aprender a programar en Python
« Respuesta #13 en: Marzo 20, 2020, 07:52:27 pm »
VARIABLES Y TIPOS DE DATOS

Bueno gente, hoy le vamos a meter mano a las variables (pero no os emocionéis que las variables no son tías buenas)  ;)

Definición:

Una variable es un espacio en un sistema de almacenaje que recibe un identificador y contiene información conocida o desconocida

Vamos, que es como un cajón en el que guardamos algo, por lo que siempre podemos cambiar su contenido durante la ejecución del programa.





Para utilizar una variable, primero hay que declararla, en Python, al contrario que en otros lenguajes, no hace falta especificar que tipo de dato que vamos a almacenar en ella. Dependiendo el dato que almacenemos en ella Python definirá el tipo de variable.



    Los tipos más comunes de variables son:
    • numéricas
      almacenan números (ya veremos que pueden ser de diferentes tipos)
    • texto
      almacenan cadenas de texto
    • booleanas
      almacenan un valor “true” o “false”

    Estos son los más comunes, pero también pueden ser conjuntos, listas, diccionarios, tuplas.

    Como no hace falta especificar que tipo de variable es, si necesitamos saberlo podemos utilizar una función incluida en el lenguaje, la función “type()”.

    Para ello sólo hay que escribir:

    type(nombre de la variable)



Si estás utilizando Geany tienes que utilizar la función print para que te lo muestre.





Como veis, los datos pueden ser de diferentes tipos, vamos a ver un poco mejor cada uno.

Para empezar los podemos dividir en dos grandes tipos:

  • simples: es aquel que permite que una variable pueda almacenarlo como un único valor de ese único tipo y pueden ser de tres tipos: Int (Enteros), Bool (True, false), float (decimales).
  • estructurados: son aquellos que permiten que una variable pueda almacenarlos como más de un valor, dato o tipo de dato.
    Secuencias: Listas, Tuplas, String, unicode, xrange, range
    Mapeos: Diccionarios
    Conjuntos: set, frozenset
    Otros: File, None, Notimplementedtype
    A su vez pueden clasificarse en mutables (se pueden modificar en tiempo de ejecución) o inmutables (no se pueden modificar en tiempo de ejecución).

Y de momento aquí lo dejo, que van a dar las 20:00 y hay que salir a las ventanas a aplaudir para agradecer a toda la gente que está trabajando para sacarnos de esta puta pandemia.

1SaluDT

Desconectado Antolin

  • VIP
  • *
  • Mensajes: 386
  • Gracias 48
  • Ciudad: Oviedo, Asturias
Re:Aprovechando la cuarentena para aprender a programar en Python
« Respuesta #14 en: Marzo 21, 2020, 08:20:50 pm »
LISTAS Y TUPLAS

Las listas son datos estructurados almacenados en una variable.

Sintaxis:

Para crear un lista simplemente lo hacemos como si declaramos una variable pero almacenando en ella dentro de corchetes los elementos.



Las tuplas son variables donde se almacenan diferentes tipos de datos estructurados que deben estar ordenados desde el comienzo y no pueden modificarse durante la ejecución del programa.

Sintaxis:

Para crear una tupla es lo mismo que con las listas pero utilizando paréntesis.



Pero, ¿Cómo accedemos a estos elementos que almacenamos dentro de ellas?

Para acceder a los elementos debemos hacerlo teniendo en cuenta que a cada elemento almacenado en cualquiera de las dos se le asigna un Índice.

Un índice es un número que identifica el elemento dentro del grupo de elementos o ítems, siempre comenzando por cero.

Sabiendo esto, para acceder a un elemento sólamente hay que especificar el nombre de la lista o tupla y entre corchetes el número de índice del elemento que necesitamos.









Pero qué pasa si lo que necesitamos no es un sólo elemento sino varios?

Para eso podemos especificar un índice de inicio y un índice de final, teniendo en cuenta que el primer índice está incluido pero el último no. Esto quiere decir que si queremos los tres primeros elementos de la lista o tupla tendremos que solicitar el índice 0 al 3. y esto se hace de la siguiente manera NOMBRE[0:3]





Y si en lugar de un pedazo queremos todos menos los dos últimos?
En este caso le pedimos que nos muestre toda la lista completa porque no colocamos un número de inicio que iría delante de los « : » y como final colocamos un número negativo. Entonces comprende que debe comenzar por el principio de esta pero evitar los últimos dos índices.





Modificar listas, métodos append, extend e insert

Método Append (Adjuntar)
Sirve para agregar un elemento al final de una lista en python y la manera de hacerlo sería la siguiente:

NOMBRE.append (elemento)





Método Extend (Ampliar)
Es útil para agregar varios elementos de un iterable al final de una lista o también añadir una nueva lista.





Qué ha pasado aquí? Fácil, al utilizar el método extend le decimos a python que queremos añadir varios elementos y “José” es una cadena de caracteres, por lo que añade cada carácter como un nuevo elemento. Si querías añadir José como un nuevo item tendríamos que haber utilizado el método append.

También podemos añadir una lista a otra lista con el método extend.





Y si en lugar de utilizar extend utilizamos append? Pues lógicamente nos añadiría la lista edad a la lista nombres como un único item.





Método Insert (Insertar)
Para añadir un elemento en otra parte podemos usar el método insert. Primero indicamos el nombre seguido de un punto el método Insert y luego entre paréntesis indicamos el índice y seguido de una coma el elemento





Muy bien, ya sabemos añadir elementos a una lista. Pero si lo que quiero es eliminar alguno?

Python nos permite eliminar mediante el número de índice y también por valores.



Método Pop
Al igual que los demás solo debemos ingresar el nombre, seguido del punto y el nombre del método (pop) y entonces entre paréntesis indicamos el índice del elemento a eliminar.





Si al método pop no le indicamos índice nos eliminará el último elemento de nuestra lista.





Método Remove
El método Remove nos va a servir para eliminar un elemento de listas en python llamándolo por su valor, o por su índice, aunque a veces teniendo una larga sería molesto ponerse a contar.





 


* Salón Recreativo #55 (27-04-2024 / 26-05-2024)  Autor: periko Foro: Salón Recreativo FaseBonus 18/05/2024 (00:54)
* [Recomendacion] Series para ver  Autor: arquillos Foro: Offtopic 17/05/2024 (19:50)
* El megapost del ZX Spectrum  Autor: arquillos Foro: Offtopic 17/05/2024 (08:14)
* MPAGD (Multi Platform Arcade Game Designer)  Autor: empardopo Foro: Creación de juegos 16/05/2024 (20:53)
* Van dos y se cae el del medio - Hilo de cachondeo general  Autor: joselopez Foro: Offtopic 16/05/2024 (00:56)
* ¿A qué estáis jugando ahora mismo?  Autor: joselopez Foro: Offtopic 16/05/2024 (00:35)
* Amiga Games + 1.9.3  Autor: empardopo Foro: Emuladores 15/05/2024 (20:48)
* Retro 320 - Wizard of wor  Autor: empardopo Foro: Competiciones y concursos 15/05/2024 (20:39)
* Ofertas Amazon  Autor: empardopo Foro: Offtopic 15/05/2024 (20:33)
* [N3DS] Red Viper - Emulando Virtual Boy como Dios manda  Autor: sirdrak Foro: Noticias de emuladores 13/05/2024 (00:53)
* La inteligencia artificial ha llegado a la música  Autor: Zael Foro: Offtopic 12/05/2024 (20:24)
* Info sobre MARP  Autor: empardopo Foro: Records y wolfmame 12/05/2024 (20:09)
* Stop the express  Autor: empardopo Foro: ZX Spectrum 12/05/2024 (20:05)
* Retro Portable Maker ArcadeSpain (RPMA)  Autor: empardopo Foro: Otros programas 12/05/2024 (17:37)
* Recopilatorio Retos: Desde el 1 hasta .....  Autor: montypepa Foro: Competiciones y concursos 05/05/2024 (21:30)
* iojukebox Theme, un JukeBox para Attract-Mode  Autor: gucaza Foro: Themes AM 04/05/2024 (02:47)
* Nuevo miniPc para mi vieja recre y juegos Windows compatibles formato 4:3  Autor: jmpuk Foro: Offtopic 02/05/2024 (23:31)
* Homenaje a Locomalito  Autor: beaches Foro: Otros programas 02/05/2024 (23:03)
* [Recomendación] Cine para los findes en casa (bueno, bonito y barato)  Autor: arquillos Foro: Offtopic 02/05/2024 (09:39)
* Etpa8: El Reino Subterráneo  Autor: jmpuk Foro: ZX Spectrum 01/05/2024 (21:49)
* West Bank para ZX Spectrum  Autor: empardopo Foro: ZX Spectrum 01/05/2024 (20:07)
* Patrocinador para el foro ArcadeSpain  Autor: empardopo Foro: Noticias 29/04/2024 (19:37)
* Aprende a hacerte un PORTABLE de tu juego arcade favorito  Autor: empardopo Foro: Records y wolfmame 29/04/2024 (19:27)
* Screenshot de empardopo  Autor: empardopo Foro: Otros programas 24/04/2024 (19:42)

Reto 320: Wizard of Wor
Buscaunchollo.click