Platzi
Platzi

¡Invierte en ti y celebremos! Adquiere un plan Expert o Expert+ a precio especial.

Antes: $349
$259
Currency
Antes: $349
Ahorras: $90
COMIENZA AHORA
Termina en: 17D : 19H : 51M : 48S

Debes tener cuenta en Platzi

Para ver esta clase abierta debes iniciar sesión

Guía de instalación y conceptos básicos1/49

Lectura

¿Qué es Python?

Python es un lenguaje de programación creado por Guido Van Rossum, con una sintaxis muy limpia, ideado para enseñar a la gente a programar bien. Se trata de un lenguaje interpretado o de script.

Ventajas:

  • Legible: sintaxis intuitiva y estricta.
  • Productivo: ahorra mucho código.
  • Portable: para todo sistema operativo.
  • Recargado: viene con muchas librerías por defecto.

Editor recomendado: Atom o Sublime Text.

Instalación

Existen dos versiones de Python que tienen gran uso actualmente, Python 2.x y Python 3.x, para este curso necesitas usar una versión 3.x

Para instalar Python solo debes seguir los pasos dependiendo del sistema operativo que tengas instalado.

Windows

Para instalar Python en Windows ve al sitio https://www.python.org/downloads/ y presiona sobre el botón Download Python 3.7.3

Se descargará un archivo de instalación con el nombre python-3.7.3.exe , ejecútalo. Y sigue los pasos de instalación.

Al finalizar la instalación haz lo siguiente para corroborar una instalación correcta

  1. Presiona las teclas Windows + R para abrir la ventana de Ejecutar.
  2. Una vez abierta la ventana Ejecutar escribe el comando cmd y presiona ctrl+shift+enter para ejecutar una línea de comandos con permisos de administrador.
  3. Windows te preguntará si quieres abrir el Procesador de comandos de Windows con permisos de administrador, presiona sí.
  4. En la línea de comandos escribe python

Tu consola se mostrará así.
Captura de pantalla (17).png

¡Ya estás listo para continuar con el curso!

MacOS

La forma sencilla es tener instalado homebrew y usar el comando:

** Para instalar la Versión 2.7**

brew install python

Para instalar la Versión 3.x

brew install python3

Linux

Generalmente Linux ya lo trae instalado, para comprobarlo puedes ejecutar en la terminal el comando

Versión 2.7

python -v

Versión 3.x

python3 -v

Si el comando arroja un error quiere decir que no lo tienes instalado, en ese caso los pasos para instalarlo cambian un poco de acuerdo con la distribución de linux que estés usando. Generalmente el gestor de paquetes de la distribución de Linux tiene el paquete de Python

Si eres usuario de Ubuntu o Debian por ejemplo puedes usar este comando para instalar la versión 3.1:

$ sudo apt-get install python3.1

Si eres usuario de Red Hat o Centos por ejemplo puedes usar este comando para instalar python

$ sudo yum install python

Si usas otra distribución o no has podido instalar python en tu sistema Linux dejame un comentario y vemos tu caso específico.

Si eres usuario habitual de linux también puedes descargar los archivos para instalarlo manualmente.

Antes de empezar:

Para usar Python debemos tener un editor de texto abierto y una terminal o cmd (línea de comandos en Windows) como administrador.

No le tengas miedo a la consola, la consola es tu amiga.

Para ejecutar Python abre la terminal y escribe:

python

Te abrirá una consola de Python, lo notarás porque el prompt cambia y ahora te muestra tres simbolos de mayor que “ >>> “ y el puntero adelante indicando que puedes empezar a ingresar comandos de python.

 >>> 

En éste modo puedes usar todos los comandos de Python o escribir código directamente.

*Si deseas ejecutar código de un archivo sólo debes guardarlo con extension.py y luego ejecutar en la terminal:

 $ python archivo.py

Ten en cuenta que para ejecutar el archivo con extensión “.py” debes estar ubicado en el directorio donde tienes guardado el archivo.

Para salir de Python y regresar a la terminal debes usar el comando exit()

Cuando usamos Python debemos atender ciertas reglas de la comunidad para definir su estructura. Las encuentras en el libro PEP8.

Tipos de datos en Python

  • Enteros (int): en este grupo están todos los números, enteros y long:

ejemplo: 1, 2.3, 2121, 2192, -123

  • Booleanos (bool): Son los valores falso o verdadero, compatibles con todas las operaciones booleanas ( and, not, or ):

ejemplo: True, False

  • Cadenas (str): Son una cadena de texto :

ejemplos: “Hola”, “¿Cómo estas?”

  • Listas: Son un grupo o array de datos, puede contener cualquiera de los datos anteriores:

ejemplos: [1,2,3, ”hola” , [1,2,3] ], [1,“Hola”,True ]

  • Diccionarios: Son un grupo de datos que se acceden a partir de una clave:

ejemplo: {“clave”:”valor”}, {“nombre”:”Fernando”}

  • Tuplas: también son un grupo de datos igual que una lista con la diferencia que una tupla después de creada no se puede modificar.

ejemplos: (1,2,3, ”hola” , (1,2,3) ), (1,“Hola”,True ) (Pero jamás podremos cambiar los elementos dentro de esa Tupla)

En Python trabajas con módulos y ficheros que usas para importar las librerías.

Funciones

Las funciones las defines con def junto a un nombre y unos paréntesis que reciben los parámetros a usar. Terminas con dos puntos.

def nombre_de_la_función(parametros):

Después por indentación colocas los datos que se ejecutarán desde la función:

 >>> def my_first_function():
 ...	return “Hello World!” 
 ...    
 >>> my_first_function()

Hello World!

Variables

Las variables, a diferencia de los demás lenguajes de programación, no debes definirlas, ni tampoco su tipo de dato, ya que al momento de iterarlas se identificará su tipo. Recuerda que en Python todo es un objeto.

 A = 3 
 B = A

Listas

Las listas las declaras con corchetes. Estas pueden tener una lista dentro o cualquier tipo de dato.

 >>> L = [22, True, ”una lista”, [1, 2]] 
 >>> L[0] 
 22

Tuplas

Las tuplas se declaran con paréntesis, recuerda que no puedes editar los datos de una tupla después de que la has creado.

 >>> T = (22, True, "una tupla", (1, 2)) 
 >>> T[0] 
 22

Diccionarios

En los diccionarios tienes un grupo de datos con un formato: la primera cadena o número será la clave para acceder al segundo dato, el segundo dato será el dato al cual accederás con la llave. Recuerda que los diccionarios son listas de llave:valor.

 >>> D = {"Kill Bill": "Tamarino", "Amelie": "Jean-Pierre Jeunet"} 
 >>> D["Kill Bill"]
 "Tamarino"

Conversiones

De flotante a entero:

 >>> int(4.3)
 4

De entero a flotante:

 >>> float(4) 
 4.0

De entero a string:

 >>> str(4.3) 
 "4.3"

De tupla a lista:

 >>> list((4, 5, 2)) 
 [4, 5, 2]

Operadores Comunes

Longitud de una cadena, lista, tupla, etc.:

 >>> len("key") 
 3

Tipo de dato:

 >>> type(4) 
 < type int >

Aplicar una conversión a un conjunto como una lista:

 >>> map(str, [1, 2, 3, 4])
 ['1', '2', '3', '4']

Redondear un flotante con x número de decimales:

>>> round(6.3243, 1)
 6.3

Generar un rango en una lista (esto es mágico):

 >>> range(5) 
 [0, 1, 2, 3, 4]

Sumar un conjunto:

 >>> sum([1, 2, 4]) 
 7

Organizar un conjunto:

 >>> sorted([5, 2, 1]) 
 [1, 2, 5]

Conocer los comandos que le puedes aplicar a x tipo de datos:

 >>>Li = [5, 2, 1]
 >>>dir(Li)
 >>>['append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
 

‘append’, ‘count’, ‘extend’, ‘index’, ‘insert’, ‘pop’, ‘remove’, ‘reverse’, ‘sort’ son posibles comandos que puedes aplicar a una lista.

Información sobre una función o librería:

 >>> help(sorted) 
 (Aparecerá la documentación de la función sorted)

Clases

Clases es uno de los conceptos con más definiciones en la programación, pero en resumen sólo son la representación de un objeto. Para definir la clase usas_ class_ y el nombre. En caso de tener parámetros los pones entre paréntesis.

Para crear un constructor haces una función dentro de la clase con el nombre init y de parámetros self (significa su clase misma), nombre_r y edad_r:

 >>> class Estudiante(object): 
 ... 	def __init__(self,nombre_r,edad_r): 
 ... 		self.nombre = nombre_r 
 ... 		self.edad = edad_r 
 ...
 ... 	def hola(self): 
 ... 		return "Mi nombre es %s y tengo %i" % (self.nombre, self.edad) 
 ... 
 >>> e = Estudiante(“Arturo”, 21) 
 >>> print (e.hola())
 Mi nombre es Arturo y tengo 21

Lo que hicimos en las dos últimas líneas fue:

1. En la variable e llamamos la clase Estudiante y le pasamos la cadena “Arturo” y el entero 21.

2. Imprimimos la función hola() dentro de la variable e (a la que anteriormente habíamos pasado la clase).

Y por eso se imprime la cadena “Mi nombre es Arturo y tengo 21”

Métodos especiales

cmp(self,otro)
Método llamado cuando utilizas los operadores de comparación para comprobar si tu objeto es menor, mayor o igual al objeto pasado como parámetro.

len(self)
Método llamado para comprobar la longitud del objeto. Lo usas, por ejemplo, cuando llamas la función len(obj) sobre nuestro código. Como es de suponer el método te debe devolver la longitud del objeto.

init(self,otro)
Es un constructor de nuestra clase, es decir, es un “método especial” que se llama automáticamente cuando creas un objeto.

Condicionales IF

Los condicionales tienen la siguiente estructura. Ten en cuenta que lo que contiene los paréntesis es la comparación que debe cumplir para que los elementos se cumplan.

 if ( a > b ):
 	elementos 
 elif ( a == b ): 
 	elementos 
 else:
 	elementos

Bucle FOR

El bucle de for lo puedes usar de la siguiente forma: recorres una cadena o lista a la cual va a tomar el elemento en cuestión con la siguiente estructura:

 for i in ____:
 	elementos

Ejemplo:

 for i in range(10):
 	print i

En este caso recorrerá una lista de diez elementos, es decir el _print i _de ejecutar diez veces. Ahora i va a tomar cada valor de la lista, entonces este for imprimirá los números del 0 al 9 (recordar que en un range vas hasta el número puesto -1).

Bucle WHILE

En este caso while tiene una condición que determina hasta cuándo se ejecutará. O sea que dejará de ejecutarse en el momento en que la condición deje de ser cierta. La estructura de un while es la siguiente:

 while (condición):
 	elementos

Ejemplo:

 >>> x = 0 
 >>> while x < 10: 
 ... 	print x 
 ... 	x += 1

En este ejemplo preguntará si es menor que diez. Dado que es menor imprimirá x y luego sumará una unidad a x. Luego x es 1 y como sigue siendo menor a diez se seguirá ejecutando, y así sucesivamente hasta que x llegue a ser mayor o igual a 10.

Cómo seguir

No te preocupes si en este punto no entiendes algunos de estos conceptos, sigue con el curso donde vamos a realizar ejercicios que te ayuden a comprender y poder aplicar cada una de las características de Python.

Adelante!

Una muy buena breve explicación de la guía donde podremos entender uno que otro concepto. Fue satisfactorio llevarlo a la practica 😃

Si alguien quiere leer código o mirar ejemplos de scripts o programas les recomiendo la pagina web Python for Beginners, les brindara muchas ideas.

Felices estudios !

Dato importante, python no admite punteros los objetos se pasan por referencia 😉

Hola:
Estuve ejecutando los comandos de los ejemplo, y al parecer están hechos para python 2. Se me hizo raro ya que mencionan al principio que en el curso usaremos Python3. De cualquier forma anote estás funcionen que observe que no funcionan igual.

map() se debe convertir en una lista en Python3 para poder imprimir en pantalla: list(map(str, [66,53,0,94]))
range() se debe convertir en una lista en Python3 para poder imprimir en pantalla: list(range(9))
cmp(a, b) al parecer ya no existe en Python3, se puede sustituir por: (a>b)-(a<b)
print x en Python3 obligatoriamente la debes usar con parentesis: print(x)

Me quedo en el comienzo. ¿En qué ruta ejecuto el “$ python” ? ¿En el disco local C? Porque apenas abro CMD en windows me abre la ruta de mi usuario en el disco local C y no me reconoce como un comando interno el “$”

¡Buen día comunidad!

Para el error:
"python" no se reconoce comando interno o externo

Pueden ver este tutorial.

Un excelente resumen. Tuve algunos inconvenientes, ya que realicé la instalación, pero, al ejecutar el comando “python” en el cmd me decía que no existía. El problema lo solucioné reinstalando y seleccionando en la primera pantalla del instalador la opción “Add Python 3.x to PATH” como se ve en la imagen.

Python.png

Espero les sea de ayuda si presentan el mismo problema.

no es

python -v
o
python3 -v

Eso ejecutara python con el verbose.

debe ser

python -V
python3 -V

o

python --version
python3 --version

Es importante comentar que las notas son para Python2, existen algunos cambios para Python3 que mencionare adelante, pero en general es una muy buena guía inicial.

Python3 incluye consultas perezosas con algunas funciones, como: map, range. esto significa que python no evaluara la función hasta que realmente la necesite, ésto es una excelente forma de ahorrar computo y memoria hasta que sea necesario.

Otro punto interesante es que la función sorted() también puede organizar string:

sorted(‘hola’)
[‘a’, ‘h’, ‘l’, ‘o’]

Es lo mismo del curso de Python

Pufffs por que no vi esta clase antes, me resumieron casi todos los cursos aqui

EXCELENTE INTRODUCCIÓN!!!

En los tipos de datos, unicamente se hace referencia a los enteros int y no se habla de los float que finalmente es el que se ocupa para números con decimales.

Considero que se debe hacer una revisión en ese punto.

De todas formas a nivel global es un gran repaso.

Hola, hay alguna diferencia en instalar python 3.8?

Al entrar al cmd no me sirve con la palabra “python”, sino con “py”. Por si a alguien mas le pasa

C:\WINDOWS\system32>py
Python 3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:21:23) [MSC v.1916 32 bit (Intel)] on win32
Type “help”, “copyright”, “credits” or “license” for more information.

Como dato interesante:
En python3, cmp ya no es soportado, puesto que esta versión de Python es más exigente al comparar Clases, fue reemplazado por un grupo nuevo de funciones que cumplen la misma función pero con mayor presición.

https://portingguide.readthedocs.io/en/latest/comparisons.html

Excelente, ahora quiero pasar a otro lenguaje. De PHP a Python 😄

Si te descargas la versión 3.7 para Windows, cuando llegue el momento de ingresar el comando en la terminal, intenta escribir py

Para ordenar de forma descendente solo debemos colocar el flag reverse = true en el comando sorted(), ni idea de esto hasta que probe el comando help(sorted). Excelente resumen.

>>> sorted([3, 0, 5, 4, 1], reverse=True)
[5, 4, 3, 1, 0]

Si tienes problemas con el Símbolo del sistema en windows al escribir "python"para ver la versión, escribe “py”.

¡Excelente recurso!
Solo una especificación; cuando ejecuten un script de python, pueden especificar la version que quieren que lo ejecute.
Ej:

python3.7 mipython.py

Lo digo porque cuando ejecuto con solo python, me ejecuta una version inferior a la 3 que no tiene ciertas librerias y me manda error.
¡Y Ansioso por ver este curso!

Hola: Me genera error el comando map, que estoy haciendo mal?

Capture.PNG

Muchas gracias, muy buena introducción y resumen general a lo que nos vamos a enfrentar en el mundo de la programación. Por mi lado en la ejecución de los comandos puedo resaltar tres puntos:

  1. para ejecutar Python desde el cmd lo logre escribiendo “py” y no “python” como lo dice la guía.

  2. en la ejecución de algunos ejercicios tuve error por que no ponía la correspondiente indentacion, por ejemplo para el print con el for.

  3. a los print hay que adicionarle los paréntesis print()

Saludos

def my_first_function():
    print("""
.     .       .  .   . .   .   . .    +  .
  .     .  :     .    .. :. .___---------___.
       .  .   .    .  :.:. _".^ .^ ^.  '.. :"-_. .
    .  :       .  .  .:../:            . .^  :.:\.            |
        .   . :: +. :.:/: .   .    .        . . .:\           |
 .  :    .     . _ :::/:               .  ^ .  . .:\          |
  .. . .   . - : :.:./.                        .  .:\         |
  .      .     . :..|:                    .  .  ^. .:|
    .       . : : ..||        .                . . !:|
  .     . . . ::. ::\(                           . :)/
 .   .     : . : .:.|. ######              .#######::|
  :.. .  :-  : .:  ::|.#######           ..########:|
 .  .  .  ..  .  .. :\ ########          :######## :/
  .        .+ :: : -.:\ ########       . ########.:/
    .  .+   . . . . :.:\. #######       #######..:/
      :: . . . . ::.:..:.\           .   .   ..:/
   .   .   .  .. :  -::::.\.       | |     . .:/
      .  :  .  .  .-:.":.::.\             ..:/
 .      -.   . . . .: .:::.:.\.           .:/
.   .   .  :      : ....::_:..:\   ___.  :/
   .   .  .   .:. .. .  .: :.:.:\       :/
     +   .   .   : . ::. :.:. .:.|\  .:/|
     .         +   .  .  ...:: ..|  --.:|
.      . . .   .  .  . ... :..:.."(  ..)"
 .   .       .      :  .   .: ::/  .  .::\                    |

    """)
    return "                             Hello Aliens!!!!"

def bye():
    print("""                                                 ___          |
                                             ___/   \___      |
                                            /   '---'   \     |
                               .-.          '--_______--'     |
                .-""`""-.    |(@ @)              / \          |
             _/`oOoOoOoOo`\_ \ \-/              /   \         |
            '.-=-=-=-=-=-=-.' \/@\             / \O/ \        |
              `-=.=-.-=.=-'    \ /\            /  |  \        |
                 ^  ^  ^       _H_ \           / / \ \        |
    """)


hi = my_first_function()

print(hi)
bye()

que buena introducción

Hola! Me sale el siguiente mensaje cuando escribo en la consola python:
“python” no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutables.
Como puedo arreglarlo? Gracias!

Muy buen resumen para los que llevamos tiempo programando en otros lenguajes 😃

Para recordar un poco! 😄

Listo ya lo tengo instalado!!

A seguir aprendiendo…

Listísimo para otro curso con el Master Aroesti! 😄

Vengaaa !!! Buen intro. Super resumido.

Excelente repaso.

Después de haber realizado el curso básico y el curso de python. Vamos por esta versión web. Enganchado!!!

Justo estaba esperando esta sección, se me hizo raro no verla cuando empecé el curso ayer pero ya está aquí, gracias por el aporte 🤓

Excelente. Emocionado para iniciar este curso.

Buena explicación de los conceptos.

Curso muy interesante!! muy buena la documentación =)

Me gustó mucho el resumen.

Un excelente resumen, deja una buena sensación para tomar el curso.

Saludos compañeros

Buen resumen

buen resumen 😄

Muy emocionado por el curso!

Interesante!, espero aprender mucho.

Gracias por el aporte!!!

El mac tiene instalado una versión de 2.x de python por lo que se debería instalar una versión de 3.x la cual puede convivir con la otra versión, pues si la actualizan se pueden romper algunos programas por lo que lo mejor es no actualizarla. En la siguiente página pueden encontrar el instalador https://www.python.org/downloads/

Creo que ya se python jajaja, está super! me muero de ganas por avanzar en toda la carrera.

Vamos bien, aunque no todos los ejercicios funcionaron de una, algunas veces hay problemas de identacion pero es cuestion de profundizar mas !!!

Gracias por los comentarios me solucionaron las dudas q tenia

Todo Ok por el momento

Dejo aca este pequeño blog acerca de lenguajes compilados vs lenguajes interpretados:
https://blog.makeitreal.camp/lenguajes-compilados-e-interpretados/

Genial este resumen. 😄

seguiré los pasos comprendo ahora a interpretar y estudiar los condicionales, sisntaxis

Todo muy claro

Aún no comienzo y ya siento que amo Python ❤️
Jajaja siempre escuché de éste lenguaje pero nunca me había puesto a investigar… Estoy motivado!

Excelente inicio!!

Alguien sabe donde encuentro toda la lista de etiquetas Python en PDF o sitio web?

buenas noches,
me pueden ayudar a resolver una inquietud porfa…
Estoy practicando con el código que nos dan acá de las clases y me encontré con algo muy extraño en la siguiente linea

"Mi nombre es %s y tengo %i"

si en los % pongo una n,m,e,y no me da, me genera diversos errores, y eso que esas fueron las unicas letras que ensaye, seguramente con otras dará error también…

me podrían explicar por qué pasa eso?
Gracias

me paso lo mismo con el $ python, gracias a los comentarios logre ejecutar la sentencia

Muy interesante, un buen resumen para comenzar a aprender.

Como hago para salir de pytho y volver a cambiar al promt regular ?

Si tengo instalada la versión 2.7
¿Debo desintalarla o no hay problema que tenga instaladas las dos?

vamos

“No le tengas miedo a la consola, la consola es tu amiga.” 😃

<code>
```python

A darle con ganas.

Muy bien explicado para comenzar.

Muchas gracias, Éxitos!

print(“Hola mundo”)

Me parece genial que nos den toda esta información desde el inicio, si no sabes nada de programación se te puede hacer un poco bola la vida. Pero los que venimos de haber aprendido otro lenguaje podemos entender la mayoria de lo que está aquí. A primer vistazo me parece que Python es genial, su sintaxis es una divinidad y me siento muy emocionado por empezar este curso

Excelente brief sobre la base de Python, ansioso de continuar con el curso!

Cada concepto es detallado y fácil de comprender espero pronto poder practicar!

Excelente introducción

E we es -V mayúscula sino inicias python en modo verbose en vez de checar la versión

Excelentes aportes, algunos no muy claros, pero para eso estamos, aprender y aprender, saludos!

Una nueva aventura se viene con este curso tan bueno.

Excelente explicación. Espero terminar ya el curso para probarme

Muy buena introducción!

Datos nuevos:
No se pueden editar los valores de una tupla y consumen menos memoria qué una lista

Genial!!! Un increíble resumen!

¿Cómo subo una imagen para poder realizar una pregunta?

Hola!
Tengo duda con el comando ‘range’

Me aparece lo siguiente:

¿Qué estoy haciendo mal?

En python 3.x las sentencias print deben llevar parentesis print(‘hola’)

Buenos consejos básicos ahora ya tengo un panorama de como trabaja python.
Gracias.
^_^

Hola, les dejo este link http://pep8online.com para checkear nuestros script y validar el pep8. Saludos

Me gustó la introducción! motiva bastante a aprender y muestra que python es sencillo

def my_first_function():
… return “Hello World!”

my_first_function()

Estupendo!.. super sencillo y entendible! Gracias

Excelente! Gracias por esta breve explicacion, me ha quedado claro todo! Ya me enamore de python

Excelente introducción.

Hay un typo:

init(self,otro)
Es un constructor de nuestra clase, es decir, es un “método especial” que es llamas automáticamente cuando creas un objeto.

cambiar: “que es llamas” por: “que se llama”

Para ser propios, en la parte de “bucle For”, la expresión correcta para determinar hasta donde correra dicho bucle dada la condición de “x < 10”, deberìa ser “…hasta (i - 1)”.

Buenas tardes no logro instalar:
Microsoft Windows [Versión 10.0.17763.503]

Veo que en los pasos sale vesion .648 y la mia termina en 503

Hola! la verdad que me encantó esta guía, es re útil para entender los conceptos, en otros cursos para aprender lenguajes no las dan así. LO QUE SÍ esta redactada de forma extraña en algunos puntos, en mi opinión deberia mejorar el dialecto y las palabras que usan y detallar más info en algunos puntos , por ejemplo: bucle for, condicionales if, métodos especiales, clases…

Espero que sirva la sugerencia!

Muy buen comienzo…

excelente explicacion con texto 😄

Que emoción me da leer sobre Python.

Es super es una muy buena explicación le entendí en la primera solo que al momento de realizar el ejemplo de la Clase: me envió un error que no pude resolver

Wooow! Increible como se resume gran parte de python en este texto corto!

Excelente explicacion estoy muy emocionado por este nuevo camino

https://www.youtube.com/watch?v=sGYSPaXAlkg&t=43s

Aqui tienen un link que les servira si les costo instalar en Windows. Muy completo e interesante.

'(recordar que en un range vas hasta el número puesto -1)'
A que hace referencia esto con el range del ciclo for