Paga en 4 cuotas sin intereses de $52.25

Antes:$249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

19d

00h

23m

52s

1

Introducción a Python - platzi

<h1>Como programar en Python</h1>

Como imprimir datos en python


# para ingresar datos en python creamos una variable y le denomniamos en comillas "" con esto volvemos la variable como un str
variable = "hola mundo"# para poder imprimir una varaible, escribimos la funcion print(varaible) de esta manera imprimimos la vairable que guardamosprint (variable)

Como realizar format’s


nombre = "nicolas"
apellido = "cortes"
intro_1 = "hola, mi nombre es " + nombre + " y mi apellido es " + apellido
print (intro_1)

# esto es una manera de realizarlo, pero tambien podemos utlizar el metodo format , el cual nos permite ingresar variables utilizando {}, como se ve en el siguiente ejemplo

intro_2 = "hola, mi nombre es {} y mi apellido es {} ".format(nombre, apellido)
print (intro_2)

# tambien existe otra manera uttilizando los corchetes, pero esta vez, sin utilizar el metodo format ixplicitamente si no implicitamente, para esto digitalisamos una f"texto {variable} texto" de esta manera ingresamos nuestra variable adentro de nuestro str

intro_3 = f"hola, mi nombre es {nombre} y mi apellido es {apellido} "print (intro_3)

Como se comportan los numero


# podemos ingrresar numeros de diferentes formas o diferentes formatos

numero_1 = 1#utulizamos el metodo type(variable) para indicar el formato o tipo de la varialbeprint (numero_1)
# nos saldra que este numero es de la clase int (entero)# si agraraos " " volveremos el numero como un str (texto o string)
numero_2 = "1"print (numero_2)

# si agregamos . para denotar que tiene decimas, lo transformamos como un flotante (float)
numero_3 = 1.2print (numero_3)

# ahora bien podemos transformar un str a un numeor, sea entero o flotante, utlizando los metodos int("varialbe") o float("variable"), con esto transformamos el numero ingresado por un imput a un eentero o flotante

numero = input("ingresa el numeor: " )

print ("tu numero ingresado es: ", int(numeor))
print ("tu numero ingresado es: ", float(numeor))

# cambe denotar que si ingresamos texto, la convercion fallara, ya que no lee todos los caracteres, a esepcion a la base hexadesimal que tiene un limite de caracteres de a - f, demo que si ponemos una cadena de texto saldra error

numero = ("ingresa el numeor:")
print ("tu numero ingresado es: ", int(numeor))
print ("tu numero ingresado es: ", float(numeor))

Como se comportan los flotantes

cuando realizamos sumas o restas con numeros flotantes tales como 1.2 o 3.1416 tendremos ciertos comportamientos que los analiza python, veamos los siguientes ejemplos

x = 1.3
y = 1.1 + 2.2
print(x)
print(y)

print(x == y)

El resultado que optendremos seran de 3.3 y 3.300000003 respectivamente. de modo que si comparamos esto, tendremos que la salida sera de False, ya que los 00000003 adicionales forman la identidad de resultado de y, por lo que x no es igual a y, por tanto saldara un error si realizamos la comparacion.

Para poder solucionar ese problema, simplemente recortaremos esta aproximacion, para ello realializamos el sigueinte codigo

y_recortado = format(y,".2g") ## .2g son los digitos a ver al momento de imprimir el valor
print("esto es un str => ", y_recortado)

De esta manera, logramos reoducir con el metodo format, reducir la cantidad de terminos que se presenta en el flotante. Adicional el termino .2g es el indicativo de cuantos digitos requerimos o deceamos observar. Cabe recalcar que al utilizar este medoto, volvemos el valor flotante a un string, por lo que hay que tener cuidado, cuando se opre dicho valor.

Ahora bien, si queremos comparar, y teniendo en cuenta que el tipo de variable a cambiado de flotante a string, simplemente podemos hacer dos formas de solucionarlo, una es volver nuestro str a flotante o el numero entero x volverlo un str. Por ultimo tambien podemos realizar una tolerancia, la cual nos indica que tan aproxiamdo o preciso esta el resultado. Veamos el siguiente codigo

x = 1.3
y = 1.1 + 2.2
y_recortado = format(y,".2g")

# opcion 1 comparar dos str
print(y_recortado == str(x))
# opcion 2 comparar dos flotante
print(float(y_recortado) == x)
# metodo con la tolerancia de datos 
tolerancia = 0.00001
print(abs(x-y) < tolerancia)

de esta manera nos indicaria que estamos en el rango del valor aproximado(metodo matematico)

Los Booleanos


# los booleanos son varialbes que se leen como verdadero o falso, que tiene como valor numerio (0) false o true (1)

variable_1 = True
variable_2 = Falseprint (type(varaible_1,variable_2)) # al imprimir esta variable, encontraremos que nos saldra que son de la clase bool o sea booleanos

Operadores aritmeticos


# tenemos varios tipos de operadores, tales como +(suma), -(resta), *(multipliacion), **(potensiacion), %(residuo), /(division) y // (division entera)

print(10+10) # la suma saldra 20
print(10-10) # la resta saldra 0
print(10*10) # la multiplicacion saldra 100
print(10/2) # la division saldra 5
print(10%2) # el residuo saldra 0
print(2**3) # la potencia saldra 8

Operadores de comparacion


# operador >
print(7 > 3) # saldra True
print(3 > 7) # saldra False# operador <
print(7 < 3) # saldra False
print(3 < 7) # saldra True# operador >= o <= realiza la comparacion, con el condiconal de igualdad

print(7 >= 3) # saldra True
print(3 >= 3) # saldra True# ----- #
print(3 <= 7) # saldra True
print(7 <= 3) # saldra False# operador ==  este operador nos permite realizar igualdades entre dos numeros

print(3 == 3) # saldra True
print(7 == 3) # saldra False# operador de negacion != este operador  nos permite decir que si el valor  es diferente entre un valor a otro

print(7 != 3) # saldra True
print(3 != 3) # saldra False

# si el operador de igualdad == o el diferencial != tambien es capas de identificar la diferencia entre str. la ventaja es que este permite igualar si la variable esta guardada en "" o en '' print ("Hola"=='Hola') # saldra un True # no obstante, la igualdad es capas de diferenciar si hay mayusculas o minusculas, por lo que si o si tendra una diferencia en el str al momento de realizar la comparacionprint ("Hola"=='hola') # saldra un False# por ultimo, tambien es capas de identificar el tipo de clase que es la variable por lo que si igualamos un "1" con un int(1) el resultado sera falso, ya quea pesar que son el mismo dato, son de diferente claseprint ("1"== 1) # saldra un False

Operadores logicos


los operadores logicos, nos permiten jugar con las entradas de los booleanos. Entre varios tipos de operadores logicos, la ciencia o mecanica de funcionamiento de los operadroes, consiste en el algebra Booleana, existen el and, or, not, entre otros, pero principal mente estos tres son los mas usados. Veamos el siguiente ejemplo

El operador and nos permite delvolver True si los dos operadores son True, de lo contrario devuelve un False, por lo tanto podemos construir el siguiente código en forma de tabla

print ("and")
print ("True and True =>", TrueandTrue) # obtendremos un Trueprint ("True and False =>", TrueandFalse) # obtendremos un Falseprint ("False and True =>", FalseandTrue) # obtendremos un Falseprint ("False and False =>", FalseandFalse) # obtendremos un False# Tabla del operador 

Demodo que podemos concluir que nuestra tabal sera verdadera solamente cuando dos variables sean verdadderas (True) y el resto seran falsas (False)

Tabla de Andentrada 1entrada 2salida
1TrueTrueTrue
2TrueFalseFalse
3FalseTrueFalse
4FalseFalseFalse

Tambien podemos realizar estos operadores con comparaciones, veamos el siguiente ejemplo

print (10 > 5and5 < 10) # obtendremos un Trueprint (10 > 20and20 < 10) # obtendremos un Falseprint (10 < 5and5 < 10) # obtendremos un False

otro orperado muy importante, como ya antes lo mencionamos es el operador or, el operador or nos permite devolver el valor booleano True si uno o ambos operadores son True y de lo contrario devuelve un False. Veamos el siguiente ejemplo

print ("or")
print ("True or True =>", TrueorTrue) # obtendremos un Trueprint ("True or False =>", TrueorFalse) # obtendremos un Trueprint ("False or True =>", FalseorTrue) # obtendremos un Trueprint ("False or False =>", FalseorFalse) # obtendremos un False# Tabla del operador 

De modo que cuando entran al menos un True, la salida sera siempre un True, y solamente sera un False, cuando las dos entradas sean False, de tal manera que así quedaría nuestra tabla

Tabla de orentrada 1entrada 2salida
1TrueTrueTrue
2TrueFalseTrue
3FalseTrueTrue
4FalseFalseFalse

Ahora apliquemos un código básico en como seria aplicado y lo útil que es utilizar el or

rol = input("ingresa el rol: ")
print(role == "admin"or role == "vendedor")

Si ingresamos tanto admin o vendedor, la salida saldrá verdadera es decir un True, por lo que esto podría emplearse como un programa para dar permisos de usuario, pero por ejemplo, si se manda otra respuesta como comprador o amigo, la respuesta saldrá un False. Demodo que estas son las aplicaciones que podemos emplear utilizando el operador or.

Por ultimo aprenderemos el operador not, el cual nos permite invertir la entrada, es decir cuando se entra un True la salida sera un False y cuando ingrese un False, la salida sera un True, de modo que podemos jugar con dicha aplicación. Veamos el siguiente código

print(notTrue) # saldrá un False
print(notFalse) # saldrá un True# Tabal del operador 

De este modo observamos que solo tenemos dos posibilidades, así que construyendo la table vemos lo siguiente

Tabla de notentrada 1salida
1TrueFalse
2FalseTrue

De modo que si realizamos un juego con la compuerta and, podemos invertir su salida, veamos el siguiente ejemplo

print ("not y and")
print ("not(True and True) =>", not(TrueandTrue)) #obtendremos un Falseprint ("not(True and False) =>", not(TrueandFalse)) #obtendremos un Trueprint ("not(False and True) =>", not(FalseandTrue)) #obtendremos un Trueprint ("not(False and False) =>", not(FalseandFalse)) #obtendremos un Truee

Como se comentó anterior mente, observamos que invertimos todas las salidas aparentes de la compuerta and, por lo que el operador not, nos permite jugar entre la entrada y la salida, la cual seria su inversa. Adicional este Bloque o juego, es también un operador lógico, el cual es el nand, en donde esta compuerta de un and y seguido del not, por lo que sería lo contrario e un and. Por tanto podemos plantear que podemos crear operadores nuevos, jugando con las entradas y salidas entre el and, or y not.

Condicionals


Los condicionales son funciones o aplicaciones que se operan entren booleanos, estos están caracterizados por el termino if y una acción que puede ser verdadera o falsa Seguida de : para cerrar la función de condicional. Por lo general la acción if siempre se ejecutara cuando la acción sea un True. Veamos el siguiente ejemplo

ifTrue:
	print ("ejecutar el programa")
ifFalse:
	print ("no se ejecutara el programa") #cabe recalcar que este if al ser falso, jamás se ejecutara el print, por tanto damos a entender que if solamente se aplicara cuando su acción sea verdadera (True)

Entendiendo un poco la mecánica, entonces apliquemos como sera en un ejemplo practico.

# ingresó de dinero a un a billetera virtual con capacidad minima de ingreso 
Variable = int(input("ingrese la cantidad a depositar => "))
if Variable >= 10000or Variable <= 100000:
	print("se a depositado correctamente")
if Variable <= 10000:
	print("Se requiere un monto superior de >= a 10000")
if Variable >= 100000:
	print("A superado el monto maximo de 100000")

En este programa lo que hacemos, es poner tres condicionales, para cumplir tres casos posibles, uno en donde el usuario ingresa dinero en los rangos establecidos que están entre los 10000 y los 100000, por lo que saldrá un mensaje que a ingresado su dinero, las dos siguientes condiciones, se basan en respuestas falsas a la primera condición, que seria en el caso que no a ingresado la cantidad minima para que su dinero sea ingresado y salte el mensaje, por lo que se le pedirá al usuario que ingrese mas dinero, y el caso en donde a ingresado mas dinero de la capacidad de la primera condición, de esta manera, le podemos indicar al usuario cuanto dinero ingresa juntado con las condiciones.

Ahora bien, como vimos en el ejemplo, podemos poner demasiados if para diferente funcionalidades, pero también podemos remplazar los if por otra función que es práctica, y ademas integra el condicional como una sola función, en vez de varias funciones. Para esto utilisamos la palabra else y elif, la cual nos permitirá decir si la primera función no paso, entonces que mira si esta acción va pasar. Veamos el siguiente ejemplo

Variable = int(input("ingrese la cantidad a depositar => "))
if Variable >= 10000or Variable <= 100000:
	print("se a depositado correctamente")
elif Variable <= 10000:
	print("Se requiere un monto superior de >= a 10000")
else Variable >= 100000:
	print("A superado el monto maximo de 100000")

La manera técnica de explicar la función else y elif, es que cuando corremos la instrucción if, varias veces, python ejecuta tambien la acción, por ende si una de las condiciones se cumplió, de igual forma hará correr las otras acciones. Para evitar eso, utilisamos el elif para preguntar hasta que se cumpla la acción, pero si no se cumple para terminar el programa y dejar de preguntar usamos el else. De modo que nos permite filtrar las condiciones, es decir, si nuestro if se cumplió, entonces dejara de correr la expresión, pero si no se cumplió, seguirá mirando los elif que habremos añadido hasta que se complete la condición, pero si no se cumplen, entonces llegaremos a nuestro else, cual hará por terminado nuestro programa.

Como usar métodos en String


Los métodos, son palabras claves que nos permiten modificar o manipular cadenas de textos o cadenas de strings, así mismo, nos permiten realizar operaciones para saber si existen valores dentro de nuestra cadena o n. Veamos la siguiente aplicación del ‘in’, el cual nos permite saber si una palabra esta dentro de nuestra cadena de texto

Texto = "hola, soy nicolas y me encantan estudiar física"
print("física"in Texto)

Este comando lo que nos indica es si esta la palabra ‘física’ dentro de nuestro texto, por lo que la salida sera un True o un Falso, en este caso es un True ya que si lo va estar.

También existe un método que nos permite saber la extensión de numero de caracteres de nuestro texto o de string, contando los espacios. Utilizando el método len(“variable”). Por tanto si analizamos nuestro comando y vemos cuantos caracteres e tiene nuestro texto veremos que presenta. Veamos el siguiente ejemplo

Texto = "hola, soy nicolas y me encantan estudiar física"
Exten = len(Texto)
print (Exten)

Con este código podremos saber la extensión, de nuestra cadena de strings, la cual es de un total de 47 caracteres.

Otros métodos utiles son los de pasar toda una cadena de textos, tanto en mayúsculas como en minúsculas. Estos métodos son upper() el cual nos permite pasar toda la cadena a mayúsculas, y lower() es el que nos permite pasar todo a minúsculas. Veamos el siguiente código

Texto = "hola, soy nicolas y me encantan estudiar física"print (upper(Texto)) # convierte todo a mayúsculas print (lower(Texto)) # convierte todo a minúsculas 

También existen métodos que hacen que las palabras minúsculas se vuelvan mayúsculas y las minúsculas mayúsculas, el cual es el swapcase(). Por ultimo existen dos métodos muy utiles para poner mayúsculas. Para el inicio de la primera palabra el cual seria el metodo capitalize() y para poner al inicio de cada palabra una mayúscula aplicamos el metodo title()

métodos de consulta

Los métodos de consulta, nos permiten buscar palabras, como tambien crear vuélanos, con las palabras que empiezan en la cadena de texto o finalizan. Para ello, están el método count() el cual nos permite contar los caracteres que tenga nuestro texto, el método startswith() Indica un True o False, dependiendo si el carácter que ingresemos esta al inicio de nuestra cadena, por lo que su salida sera un True en el caso que si tenga ese carácter inicial o un False en el caso contrario. Luego esta el método endswith() el cual busca es el carácter final para realizar la comparación. Por ultimo, podemos utilizar el metodo replace() el cual nos permite remplazar datos dentro de nuestra cadena. Veamos el siguiente ejemplo

Texto = "hola, soy nicolas y me encantan estudiar física"# Métodos para contar caracteres
print(Texto.count("o")) # en este caso busca cuantas veces se precenta la o, la cual su salida sera de 3, ya que en la cadena hay 3 o# Métodos para indicar si una palabra esta al inicio o final de la cadena
print(Texto.startswith("hola")) # busca si la palabra hola esta al nicio de la cadena, por tanto su salida sera un True
print(Texto.endswith("física")) # busca si la palabra física esta al final de la cadena, por tanto su salida sera un True # Método para remplazar o cambiar un carácter
print(Texto.replace("física","Química")) # su salida sera toda la cadena, cambiando la palabra física por Química.

Ya para finalizar existe un metodo que nos permite identificar si nuestro str es un numero, para esto escribimos el método isdigit() por lo que si hay solo números, su salida sera un True

indexing y slicing

En Python, la indexación y el slicing son dos técnicas fundamentales para acceder y manipular datos en secuencias, como listas y cadenas de texto.

La indexación se utiliza para obtener un elemento específico de una secuencia. Por ejemplo, si tienes una lista llamada mi_lista, puedes acceder al tercer elemento con mi_lista[2] (recordando que la indexación en Python comienza desde 0). Esto te permite recuperar valores individuales de la secuencia.

El slicing, por otro lado, es una forma poderosa de extraer subconjuntos de una secuencia. Puedes utilizarlo para obtener una porción de la secuencia utilizando dos índices separados por dos puntos. Por ejemplo, mi_lista[1:4] te dará los elementos desde el índice 1 hasta el índice 3, incluyendo el primero pero excluyendo el último.

Estas técnicas son esenciales para trabajar con datos de manera eficiente en Python, permitiéndote acceder a elementos individuales o extraer porciones específicas de secuencias de manera rápida y flexible. Veamos unos ejemplos

texto = "hola mi nombre es nicolas"
print(texto[0]) # la salida del print sera la letra h
print(texto[999]) # acá saldrá un error, ya que no existe algún carácter que se encuentre en dicha posición# una manera útil de saber cual es el ultimo carácter, es simplemente sabiendo la extensión del texto, con esto podemos usa el metodo len(), no obstante hay que tener cuidado, ya que la indexación cuenta desde 0 por tanto para hay que restar el numero de caracteres por menos uno, si no saldrá un error.
Extension = len(texto)
print(texto[Extension - 1]) # la salida del print sera la letra s# pero hay una manera mas fácil de realizar dicha acción y es contar valores negativos, como el -1, ya que python considera que los valores negativos los toma como si fueran los últimos caracteres.

print(texto[-1]) # su salida sera la letra s, tal como el código anterior
# basado en las posiciones del texto, podemos sacar una palabra de la cadena del texto, esto utilizando el siguiente comando [inicio:final]

Texto = "hola soy nicolas cortes parra"
print(Texto[9:17]) # su salida sera un nicolas# adicional podemos tomar extenciones largas o cortas, como que empiece a tomar datos desde el inicio de la cadena o desde el final hasta el inicio para ello, jugamos con los valores 0 o -1 o también existe la forma abreviada para de poner valores vacíos, veamos un ejemplo

print(Texto[:4]) # comienza desde el inicio, salida hola 
print(Texto[24:]) # comienza desde un punto determinado y termina en la salida, salida parra
print(Texto[:]) # imprime toda la cadena

La utilidad de esto, es para poder entender poder acceder a información en los datos o variables que ingresemos durante el código. Asimismo también podemos saltar en la cadena, es decir indicar un valor, pero que este recorra o tome datos de la cadena cada tres o dos o n veces, hasta completar toda la cadena, para ello agregamos un : adicional, es decir [inicio: final: saltos]. Veamos un ejemplo

Texto = "hola soy nicolas cortes parra"
print(Texto[:20:2]) # saldrán letras cada dos, es decir 'hl o ioa o'

Listas

Las listas, están diseñadas con los siguientes términos [variable 1 , variable 2, … ,variable n ] De esta manera creamos las partes de las listas, las listas pueden tener tanto números, como flotante o booleanos, e incluso strings, adiciona también podemos agregar listas dentro de listas. Veamos el siguiente ejemplo

Lista_1 = [1, True, "hola mundo", 'sto es un str', 1.3, [1,2,3,4]]
print(Listas_1)

# para sacar o mirar un dato de la lista siempre le te agregamos la teoría vista en indexing y slicingprint (LIsta_1[2]) # el resultado sera "hola mundo# para actualizar datos, aplicamos la siguiente estructura lista[pocicion] = variable a insertar.  Veamos el siguiente ejemplo

Lista_1[3] = "soy nicolas"
print(Listas_1) # saldrá la lista con el dato cambiado en la pocisin 3

También podemos utilizar altos conseptos vistos en indexing y slicing, coo también en los condicionales, para realizar búsquedas en la lista. Veamos algunos ejemplos

print(Listas_1[:3]) # me permite imprimir los datos ubicados en las posiciones del 0 al 3

print(Truein Listas_1) # pregunta si esta el Boolean o en la lista, la salida sera un True o False dependiendo si esta o no 

print(1in Listas_1) # los mismo pero pregunta si esta el interno 1

métodos de listas

Los métodos de las listas en Python están denominados en una terminología llamada CRUD (Create, Read, Update & Delete) crear, leer, actualizar y eliminar. Entonces veamos el siguiente código, apliacando cada concepto

Lista_2 = [1,2,3,4,5] # en esta sección creamos la lista
print(Lista_2[1]) # en este caso leemos la lista y buscamos el valor en la posición 1, que en este caso es 2
Lista_2[-1] = 10# en este caso acá actualizamos la lista, cambiando el ultimo dígito de la lista que es 5 por el valor 10
print(Lista_2)

# Existe otra forma de agregar datos, para ello utilizamos los métodos. Veamos los siguientes métodos para agregar datos

Lista_2.append(24) # en este caso agregamos el numero 24 a la lista. Cabe denotar que append agrega siempre el ultimo valor a lo ultimo
print(Lista_2)

Lista_2.insert(0,True) # en este con el método insert podemos agregar datos en las posiciones que queramos dentro de la lista, para este caso en la posición 0 agregamos un True, extendiendo la lista. Para ello el primer dígito sera la posición y el segundo el valor .insert(posición , variable)
print(Lista_2)

# ahora bien también podemos sumar listas con otras listas, para ello aplicamos + para crear la lista que tenga las dos listas 

Lista_1 = [1, False, "hola mundo", 'sto es un str', 1.3, [1,2,3,4]]
Lista_total = Lista_2 + Lista_1
print(Lista_total) # saldran las dos listas en una lista# existe un método para saber si hay valores dentro de una lista, para ello utilizamos el método .index(), el cual nos indica la posición en donde esta el elemento.

print(Lista_total.index("hola mundo")) # en este caso la salida saldrá el valor 9, debido a que el str esta ubicado en esa sección. Nota: el valor que sale del index es un Int# Ahora bien, sabiendo la ubicación y existencia de datos en nuestra lista, podemos eliminar datos de esta conociendo la ubicación, para ello utilizamos el método .remove(variable)

Lista_total.remove(1)
print(Lista_total) # eliminara el primer dato que tenga la variable 1, también cave denotar que puede eliminar str o un boolean.#existe otro método llamado .pop() el cual elimina siempre el ultimo elemento por defecto, pero si le agregamos una entrada en int, esta buscara la posición y la eliminara, veamos un ejemplo usando el pop y luego agregándole un entero y posterior el index anterior

a = Lista_total.pop() # el pop guarda el valor que esta eliminando, por lo que si lo metemos una variable, podemos imprimirla en otra sección, si necesitamos solo esa variable enconcreto
print(Lista_total) # la salida sera la lista sin la ultima variable que es es [1,2,3,4]

b = Lista_total.pop(0)
print(Lista_total) # la salida sera la lista sin el dato True, es decir la primera variable

entero = Lista_total.index("hola mundo") # guardamos el numero de la posicion en donde esta nuestra variable y posterior la eliminamos
c = Lista_total.pop(entero)
print(Lista_total) # la salida sera sin el str "hola mundo"# pop guarda la variable que quito en la lista
print(a) # saldrá la lista 
print(b) # saldrá el True 
print(c) # saldrá "hola mundo"# un método para cambiar el sentido de nuestra lista sera usar el .reverse() , cual cambia el sentido de la lista

Lista_total.reverse()
print(Lista_total) # la lista estará volteada # [1.3, 'sto es un str', False, 1, 24, 10, 4, 3, 2, 1] ## para ordenar la lista, utilizamos el método .sort() el cual ordenara la lista de mayor a menor. # IMPORTANTE este método solo funciona para enteros, flotantes y Booleanos en una misma lista, por lo que esta lista saldrá un error, para ello eliminaremos las demás variables de la lista y la dejaremos en solo ints y floats 

print(Lista_total.sort()) # su salida sera un error, para ello, eliminamos las variables str# Portanto el código quedaría de la siguiente manera 
Lista_total.remove('sto es un str')
Lista_total.sort()
print(Lista_total) # la salida sera [False, 1, 1, 1.3, 2, 3, 4, 10, 24]# como mencionamos anterior mente en la lista e arriba el método sort solo funciona, cuando la lista es homogénea, en términos de números o de str, por lo que si vamos a ordenar una lista de str no pueden aver números ni booleanos, veamos el siguiente ejemplo

Lista_str = ['hola', 'educa','comi','malos']
Lista_str.sort
print(Lista_str) # su salida sera ['comi', 'educa', 'hola', 'malos']

Tuplas

las tuplas están denominadas como (variable, variable, variable) en estas pueden ir tanto ints, flotantes, booleanos o str, pero la única particularidad es que no se pueden alterar, son inmutables, por lo que solo funcionan los métodos de búsquedas como tupla[], .index() y .count()

tupla_1 = (1,2,3,4,5,'hola')
print(tupla_1)
print(type(tupla_1)) # su

print(tupla_1.index(3)) # muestra el lugar de donde esta la variable
print(tupla_1.count('hola')) #cuenta cuantas variables hay en la tupla

Ahora bien, podemos transformar las tuplas en listas, para poderlas modificar, para ello guardamos la tupla con la función list() donde adentro ira la tupla, para realizar la transformación, veamos un ejemplo


lista_1 = list(tupla_1)
print(lista_1)

ahora realicemos una actualización a la tupla, para ello vamos a quitar el string hola, para solo dejar la tupla en términos de ints, para ello tenemos que transformarla como una lista, quitar el str y luego volverla una tupla, veamos como es el código.


tupla_1 = (1,2,3,4,5,'hola')
lista_1 = list(tupla_1)

lista_1.remove('hola')
tupla_1 = tuple(lista_1)

print(tupla_1) # su salida sera (1,2,3,4,5)

De esta manera podemos actualizar las tuplas.

Diccionarios

Es una manera de poder organizará la información de tal manera que con una palabra calve, podemos acceder a una información en concreto, el diccionario esta definido con diccionario = { llave : definición } la larva por lo general es un str y su definición pude ser cualquier valor, como un str , flotante, entero o booleanos. Veamos el siguiente ejemplo


Dic = {'nicolas':24, 'Jose':35, 'Maria':15, 'pedro':45, "mafe":20
	  }

print(Dic) # mostrara todo el diccionario # Para saber cuantos elementos tiene el diccionario, usamos la función lend(Diccionario)

print(len(Dic)) # el resultado sera 5 y lo saca en un formato de int# Para leer el dicccionario utilizamos lo que serian las llaves, las cuales son las que nos permite saber la información o definición de las variables que están adentro del diccionario, para ello usamos los ["nombre de llave"]

print(Dic['Maria']) # el resultado sera 15 # tambine podemos usar el medio .get("nombre de llave"), la ventaja es que si el valor no esta dentro del diccionario retornara un none

print(Dic.get('nicolas')) # el resultado sera 24
print(Dic.get('comida')) # el resultado sera None# Por ultimo también existe otra manera de leer el diccionario y saber si esta una llave o no dentro de el, y es utilizando la variable in, el cual pregunta si la llave esta dentro o no del diccionario, lo cual va retonar un True o un False

print('pedro'in Dic) # el resultado sera True
print('comida'in Dic) # el resultado sera False

Ahora bien, la utilidad de un diccionario, es que nos permite cambiar, actualizar y alterar información de do de el, para ello existen diferentes maneras para lograr dicho fin


Dic = {'nombre':'nicolas', 
	   'edad':22, 
	   'ocupacion':'estudainte', 
	   'lugar':'bogota', 
	   'rol':['novio','compañero']
}

# Existen métodos que nos permiten modificar y acceder a información espesfica de nuestro diccionario, los cuales son .items, .keys, .values

print('items')
print(Dic.items())

# retornara Items dict_items([('nombre', 'nicolas'), ('edad', 22), ('ocupacion', 'estudainte'), ('lugar', 'bogota'), ('rol', ['novio', 'compañero'])]) ## Esto retorna, los pares  de las variables que tienen el diccionario en donde se agrupan en tuplas, donde esta su llave y su definición

print('keys')
print(Dic.keys())

# retornara Keys dict_keys(['nombre', 'edad', 'ocupacion', 'lugar', 'rol']) ## Esto retorna las llaves o las palabras calves que presentan en el diccionario

print('values')
print(Dic.values())
# retornara Values dict_values(['nicolas', 22, 'estudainte', 'bogota', ['novio', 'compañero']]) ## Esto quiere decir que retornara las definiciones de las llaves# para actualizar un dato en el diccionario simplemente utilizamos el siguiente formato Dic['nombre de la llave'] = 'nueva' definición' de esta manera cambiamos el nombre de la llave por una nueva.

Dic['nombre'] = 'mafe'

print(Dic) # si imprimimos el diccionario, saldrá el cambio de la nueva definición que antes era nicolas a mafe# tambien con el mismo método, podemos retas valores, como en la edad, para ello utilizamos la misma sintaxis solo que en el lado izquierdo del igual ponemos un - es decir -= veamos el siguiente ejemplo 

Dic['edad'] -= 2
print(Dic) # su salida sera un 20 en la defincion de edad#adicional mente tambien como en el diccionario hay una lista, podemos agregar datos a la lista utilizando el método append('variable'), pero cabe denotar que no se puede modificar la lista, solo se pueden agregar datos

Dic['rol'].append('amigable')
print(Dic) # su salida sera en la difinicion 'rol': ['novio', 'compañero', 'amigable']# Ahora bien si queremos que modificar una lista dentro del diccionario para esto hay que utilizar varios método, que primero seria eliminar la lista, para esto existen varias formas, podríamos utilizar la función del o el método .pop() veamos un ejemplo del Dic('rol') # eliminamos la llave con definición rol# o
Dic.pop('rol') # elimina la llave y guarda la definición de esta lista, por lo que si imprimimos esta variable, saldrá la difícil es decir ['novio', 'compañero', 'amigable']# ahora si queremos agregar una llave nueva con una definición nueva, simplemente aplicamos el is o método de actualizar, solo que en este caso agregamos en el [] el nombre de la nueva llave = su definición, veamos el ejemplo 

Dic['rol'] = ['novia','bonita','apasionada']

# de esta manera podemos agregar, actualizar y eliminar datos dentro de una lista

Ciclos

Nos permiten realizar códigos o comandos de manera continua o repetitiva, hasta que se compla una acción en concreto. Existen dos tipos de ciclos el while y for.

Ciclo while

El ciclo while, funciona de forma similar a un if, debido a que mientras la condición que se este aplicado sea verdadera, es decir un True, se ejecutara el programa de manera infinita. Para evitar este problema, se requiere utilizar una condición, la cual nos permite finalizar la instrucción de repetir el ciclo, ya que el while deja de funcionar cuando la instrucción sea False. Veamos el siguiente ejemplo


Condicional = 0while Condicional < 10:
	Condicional += 1# este comando lo que realiza es sumar el valor del condicional + 1, esto permite que cuando se repita de nuevo la acción e este sumando el contador hasta que la instrucción que es <10 se supere siendo 11<10 el ciclo deje de operar, por lo que podemos decir que el ciclo se repetirá 10 veces.
	print(Condicional)

Ahora bien, existen una forma de trabajar con los ciclos en python para realizar operación que pueden ayudarnos en nuestros Programas, para ello vamos a utilizar un if adentro de nuestras función y finalizarlo con la condición break y continue. Veamos como funcionan

Como en el anterior código, vimos que nuestro ciclo se se repite 10 veces antes de parar, es decir llega a un tope antes de que la instrucción sea falsa. Pero que pasa cuando adentro de nuestra instrucción queremos que se pare nuestro ciclo antes de que llegue a dicho tope, para esto vamos a aumentar nuestro condicional hasta el 20, pero digamos que queremos detenernos asta el valor 15, entonces ahi es donde entra el uso del condicional if y su función break. Veamos el ejemplo

Condicional = 0while Condicional < 20:
    Condicional += 1
    print(Condicional)
    if Condicional == 15:
        break# esta instrucción lo que hace es que cuando se ejecuta el ciclo y se va sumando el condicional, va imprimiendo su valor, adicional el if juega el papel de detener la instrucción, por lo que su salida sera todos los números del 1 al 15. Por lo que el programa se detendrá cuando llegue a dicho valor# pero que pasa si el condicional esta antes del print?while Condicional < 20:
    Condicional += 1if Condicional == 15:
        break
    print(Condicional)

# en este caso lo que sucede es que solo imprime hasta el valor 14, debido a que cuando llega al numero 15, la ejecución se detiene, por lo que el print no se ejecuta y se termina el programa

Ahora bien, sabemos como funciona el break, pero digamos que quiero que mi instrucción se ejecute solamente cuando est en cierto numero o rango por así decirlo, acá es donde hace juego la utilización del continue. Este nos permite ejecutar el programa cuando la condición sea falsa y de paso a la instrucción, veamos el ejemplo

while Condicional < 20:
    Condicional += 1if Condicional < 15:
        continue
    print(Condicional)
	# el código no imprimiera hasta que se llegue al numero 15, una vez que se llegue a dicho valor el print, empezara a ejecutarse, por lo que sus salida serán los valores del 15 al 20

De esta manera podemos crear aplicaciones con dichas funciones que nos permiten el ciclo while

ciclo for

El ciclo for, es uno de los ciclos mas usados en la programación, esto debido a que se usa usual mente cuando se tiene un numero de elementos, o interasiones dadas, adeiferencia del ciclo while el cual funciona con una condición que se cumplen hasta finalizar la instrucción.

La estructura el ciclo for esta dada de la siguiente manera: for (elemento integrador) (condición) (elemento de interasiones): De esta manera se planeta un ciclo for. Veamos un ejemplo

for elemento in range(10):
    print(elemento)

La salida de dicho código serán los números del 0 al 9, cabe denotar que al utilizar el elemento el cual es la función range() nos permite crear una cantidad de numero que parten del 0 += 1 y se detiene la instrucción cuando se cumpla dicha condición. Nota importante, el numero que pongamos en el rango, siempre sera el numero menos uno, es decir si ponemos 10 solo saldran los números del 0 al 9.

Ahora bien, tambien podemos iterar diferentes elementos como una tupla o una lista, por lo que en si el ciclo for recorre los datos uno por uno y va ejecutando la instrucción que queramos, vemos un ejemplo

# Leer una lista 
lista = [18,20,34,25,64]
for elemento in lista:
    print(elemento)

# Leer una tupla
tupla =(18,20,34,25,64)
for elemento in lista:
    print(elemento)

Con estos dos métodos, podemos leer una lista o una tumpla, dato por dato. Así mismo, tambien podemos iterar los elementos en un diccionario, veamos el siguiente ejemplo

# creamos primero el diccionario 
dic = {
    'nombre' : 'Nicolas',
    'edad' : 22,
    'rol' : 'Estudiante',
    'Id' : 4,
}

#  con esto realizamos la lectura de los datos del diccionariofor keys in dic:
    print(keys, '=>', dic[keys])
# su salida, serán el nombre de las llaves y sus valores, por lo que el ciclo está llamando las llaves que tiene el diccionario adentro y las imprimimos, posterior acedemos a los valores con la función dic[keys] y de esta manera tenemos o logramos imprimir tanto las llaves como los valores## nombre => Nicolas## edad => 22## rol => Estudiante## Id => 4# ahora bien, tambien podemos realizar este resultado de una manera un poco mas eficiente, utilizando el método .items, el cual nos permite retonar tanto las llaves (keys) y las definiciones (values), veamos el siguiente código for key, value in dic.items():
    print(key, '=>', value)

# la salida de dicho comando sera exactamente el mismo que usando el anterior código. la diferencia es que acedemos primero a la array de las tuplas con items y luego sacamos los datos de las llaves y sus valores, por lo que es mas eficiente de esta manera usar el código ya que no tenemos que llamar como tal la llave si no que las sacamos en un inicio con el ciclo for

Ahora bien, en el mundo laboral, vamos a utilizar un formato para guardar la informacion, que estará dada en listas de diccionarios, por lo que podremos guarda varios diccionarios en una lista dada, veamos el siguiente ejemplo.


Poblacion = [
    {
    'nombre' : 'Nicolas',
    'edad' : 22,
    'rol' : 'Estudiante',
    },
    {
    'nombre' : 'Mafe',
    'edad' : 20,
    'rol' : 'Estudiante',
    },
    {
    'nombre' : 'Pedro',
    'edad' : 45,
    'rol' : 'docente',
    },
    {
    'nombre' : 'Angelica',
    'edad' : 37,
    'rol' : 'Docente',
    }
]
# en este primer ciclo for vamos a imprimir toda la lista, por lo que la variable propietario, sera igual a cada diccionario individual, por lo que leeremos diccionario por diccionariofor propietario in Poblacion:
    print(propietario)
# su salida queda de la siguiente manera## {'nombre': 'Nicolas', 'edad': 22, 'rol': 'Estudiante'}## {'nombre': 'Mafe', 'edad': 20, 'rol': 'Estudiante'}## {'nombre': 'Pedro', 'edad': 45, 'rol': 'docente'}## {'nombre': 'Angelica', 'edad': 37, 'rol': 'Docente'}# en el siguiente código, vamos a imprimir cada llave y cada definición para cada diccionario por lo que el código queda así for propietario in Poblacion:
    for key, value in propietario.items():
        print(key,'=>',value)
        
# su salida queda de la siguiente manera## nombre => Nicolas## edad => 22## rol => Estudiante## nombre => Mafe## edad => 20## rol => Estudiante## nombre => Pedro## edad => 45## rol => docente## nombre => Angelica## edad => 37## rol => Docente

De esta manera logramos trabajar con todos los datos utilizando el ciclo for y como leer y acceder a ellos.

En resumen

para utilizar o diferenciar un ciclo while y un for, esta en como lee o ejecuta los datos. Por tanto en el ciclo while no sabíamos cuantas veces vamos a iterar, y por ello se requiere poner una condición o un contador para decirle las veces que va contar, mientras que en el ciclo for, el conjunto de datos que vamos a leer, sera las interacciones que vamos a correr durante el programa, por lo que esta definida esta condición.

Escribe tu comentario
+ 2