SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
Python, Te lo explico con Peras y Manzanas
# 1. LOS TIPOS DE DATOS
# ============================================================================ #
# str: string o cadenas de caracteres se encierran entre ' ' o " "
"Hola Covid-19"
'esta es un string'
""" También es posible usar 3 comillas dobles
o 3 comillas simples al principio y fin de la cadena
para hacerla multilineas """
"si ocupas usar 'comilla simple' dentro de la cadena"
'y si necesitas que tenga "comillas dobles" ..así '
# ============================================================================ #
# int: Números enteros
13 # Así de pelada... no hay que explicar más
# ============================================================================ #
# float: Números de coma flotante, reales... con decimal pues'n
13.45
# ============================================================================ #
# bool: Booleanos Verdadero y Falso
True # 1 puede ser considerado verdadero
False # 0, None, "", (), {}, [], set(), range(0)
# ============================================================================ #
# No me pregunten por números complejos... no los explicaré aquí...
# Con éstos son más que suficientes para empezar
Síguenos en el Grupo de Facebook 1. TIPOS DE DATOS en pastebin Peras y Manzanas en Repl.it
Python, Te lo explico con Peras y Manzanas
# 2. VARIABLES, OPERADORES de comparación y lógicos
# ============================================================================ #
# Las variables son nombres de objetos que residen en la memoria
# Una variable puede ser nombrada como gustes a excepción de:
# El primer caracter no puede ser un número
# No usar símbolos especiales !, @, #, $, %, etc.
# No debe ser nombrada igual que una palabra reservada
# A las variables hay que asignarle un tipo de datos con el signo =
# La variable asignada deberá ir al lado izquierdo del = y el valor a asignar al lado derecho
MiVariable = "hola" # Se le ha asignado una cadena con valor "hola"
Edad = 44 # Esta variable tiene un valor numérico entero de 44
MiVariable = 44 # Puede cambiar la variable de tipo de dato
MiVariable = Edad # Puedes asignarle el valor de otra variable
MiLista = [1, 2, 3, 4, 5] # Una variable con valor de una lista
aprobado = True # Una variable booleana
aprobado = promedio >= 6 # Una variable con una condición si otra variable es mayor a 6
# Python sugiere que los nombres de variables sean de tipo snake_case, esto es… nombres en minúsculas
con separador entre palabras por un guión bajo _ , por ejemplo nombre_estudiante = “Luis Urbalejo”
# Soy más del tipo CamelCase donde los nombres de variables inician con mayúscula en cada palabra..
por ejemplo NombreEstudiante = “Luis Urbalejo”
# Cada quien es libre de usar el tipo de variable, yo hasta las mezclo jeje…. Mientras el código sea limpio
y entendible…
# Nombres de mis variables....
# Utilizo UpperCamelCase y antepongo:
# str para variables de cadena: strNombre, strArchivo
# int para variables de tipo entero: intNumero, intEdad
# flt para flotantes
# bol para booleanos True y False
# lst para Listas
# tpl para tuplas
# dic para diccionarios
# Y así.... capicci?
# Operadores de Comparación
# ============================================================================ #
# Para realizar comparaciones lógicas se utilizan operadores de comparación. Estos son
# == igual a
# > mayor que Operadores Lógicos
# < menor que #=========================================#
# != diferente a Se utilizan para agrupar operaciones con lógica booleana
# >= mayor o igual a not (no) and ( y ) or (o)
# <= menor o igual a
Síguenos en el Grupo de Facebook 2.VARIABLES en pastebin Peras y Manzanas en Repl.it
Python, Te lo explico con Peras y Manzanas
# 3. Función print()
# ============================================================================ #
# La función print() dará una salida a la consola
# Su sintáxis:
# print(objetos, sep='separador', end='n', file=file, flush=flush)
# end="n" Si no se especifica, al final hace un salto de línea
# Los últimos 2 file y flush no los veremos
# Ejemplos
print("Hola Mundo!") # >>> Hola Mundo!
# 2 objetos separados por coma
print("Hola", "Mundo!") # >>> Hola Mundo!
# usando un separador entre objetos
print("Hola", "Mundo!", sep="<->") # >>> Hola<->Mundo!
# Usando un end="" no hace un salto de línea
print("Hola", end="")
# entonces "Mundo!" se imprime seguido
print("Mundo!") # >>> HolaMundo!
# Concatenado (uniendo) cadenas
x = "Hola"
y = "Mundo!"
z = x + " " + y
print(x, y, z) # >>> Hola Mundo! Hola Mundo!
x = 3
y = 5
# Se puede imprimir operaciones aritméticas
print(x + y) # >>> 8
# Se puede formatear una cadena anteponiendo f" " y entre {} las variables
z = f"{x} + {y} = {x + y}"
print(z) # >>> 3 + 5 = 8
Síguenos en el Grupo de Facebook 3.Función print() en pastebin Peras y Manzanas en Repl.it
Python, Te lo explico con Peras y Manzanas
# 4. String, Cheat Codes
# ============================================================================ #
# Una cadena de caracteres (str-ing) es un tipo de datos que representa texto
# Se definen encerrando el valor entre comillas dobles “ “
strNombre = “Luis Urbalejo”
# o entre comillas simples ‘ ‘
strGrupo = ‘Python en español (principiantes)’
# También es posible una cadena de texto de varias líneas encerrándola entre triple comillas
strMultilineas = “””Esta cadena tiene varias líneas
esta es la segunda línea
una línea más… “””
print(strMultilineas)
# >>> Esta cadena tiene varias líneas
# >>> esta es la segunda línea
# >>> una línea más…
# Se pueden concatenar con +
print(strNombre + strGrupo) # >>> Luis UrbalejoPython en español (principiantes)
# Multiplicar *
print(strNombre * 2) # >>> Luis UrbalejoLuis Urbalejo
# Obtener un caracter encerrando el índice entre [ ]
print(strNombre[ 5 ]) # >>> U
# Obtener un rango de caracteres <string>[índice_inicio : índice_final + 1]
print(strNombre[ 5 : 9 ] # >>> Urba
# Buscar una subcadena y regresar True si la encuentra
print(“Urb” in strNombre) # >>> True
# Métodos
#Convierte el 1er carácter de la cadena en mayúscula
print(“luis Antonio”.capitalize()) # >>> Luis Antonio
# Centrar una cadena <string>.center(longitud, carácter_de_llenado)
print(“*”.center(10,”-“)) # >>> ----*-----
Síguenos en el Grupo de Facebook 4. String, Cheat Codes en pastebin Peras y Manzanas en Repl.it
# Contar número de subcadenas en una cadena <string>.count(subcadena, inicio, long)
print(strGrupo.count(“e”)) # >>> 3
# Busca una subcadena y regresa la posición o -1 si no la encuentra <string>.find(subcadena, inicio, long)
print(strNombre.find(“Urba”)) # >>> 5
# True si la cadena contiene solo letras y/o números
print(“abc 123”.isalnum()) # >>> False # Hay un espacio :/
# True si la cadena son solo letras
print(“Luiggi”.isalpha()) # >>> True
# True si la cadena son solo números
print(“2019”.isdigit()) # >>> True
# True si la cadena contiene solo minúsculas
print(“luis2019”.islower()) # >>> True
# True si la cadena contiene solo mayúsculas
print(“LUIS2019”.isupper()) # >>> True
# Unir una lista como cadena
lstLista = [ “Luis”, “Antonio”, “Urbalejo” ]
print(“ “.join(lstLista)) # >>> Luis Antonio Urbalejo
print(“,“.join(lstLista)) # >>> Luis,Antonio,Urbalejo
# Convertir una cadena en una lista
print(strGrupo.split(sep=” “) # >>> [ ‘Python’, ‘en’, ‘español’, ‘(principiantes)’ ]
# Devuelve la longitud de la cadena
print(len(strGrupo)) # >>> 33
# Convierte las mayúsculas a minúsculas
print(strGrupo.lower()) # >>> python en español (principiantes)
# Convierte las minúsculas a mayúsculas
print(strGrupo.upper()) # >>> PYTHON EN ESPAÑOL (PRINCIPIANTES)
# Elimina el carácter especificado del lado izquierdo y derecho (espacios si no se especifica)
print(“xxxxxHolaxxxMundo!xxxxx”.strip(“x”)) # >>> HolaxxxMundo!
# Invierte mayúsculas y minúsculas
print(strNombre.swapcase()) # >>> lUIS uRBALEJO
Síguenos en el Grupo de Facebook 4. String, Cheat Codes en pastebin Peras y Manzanas en Repl.it
Python, Te lo explico con Peras y Manzanas
# 5. Función input()
# ============================================================================ #
# Función input() entrada / captura de datos por teclado
# Es utilizada para solicitar datos del usuario por medio del teclado
# Siempre retorna una cadena (string)… si el usuario captura números, deberemos convertir esa caden
de números en un tipo de datos entero o flotante para hacer operaciones aritméticas sise requiere.
# Su sintáxis:
# input(objeto opcional)
# Normalmente, al retornar una cadena debemos asignarlo a una variable.
# Ejemplos
strNombre = input("Cómo te llamas? ")
print("Hola", strNombre)
# >>> Cómo te llamas? Luis
# >>> Hola Luis
# También es válido de la siguiente manera... mismo resultado
print("Hola", input("Cómo te llamas? "))
# >>> Cómo te llamas? Luis
# >>> Hola Luis
intEdad = input("Edad: ")
# Aquí, realmente lo que capturamos será una cadena
# y como esperamos un valor entero, ponemos la función int()
# quedando así:
intEdad = int(input("Edad: "))
# Si no se captura un número entero se generará un error...
# para eso están las excepciones... luego las veremos
# Es muy común, en los principiantes, no convertir el valor de retorno correcto
# por ejemplo la cadena “13.65” que contiene un punto decimal, convertirla a tipo entero generará un
error…
# int(“13.65”) # ERROR!!
# Para solucionar este inconveniente, si deseamos que el dato del usuario sea entero y capturó “13.65”
(supongamos)… ocuparíamos convertir primero esa cadena a tipo flotante y después a entero
# int( float( “13.65” ) ) # CORRECTO!
Síguenos en el Grupo de Facebook 5. Función input() en pastebin Peras y Manzanas en Repl.it
Python, Te lo explico con Peras y Manzanas
# 6. Por fin!!! Algo del pinche ejemplo ¬¬
# ============================================================================ #
# En capítulos anteriores en CSI...
# Bueno.. se trata de ir armando un programa que pida datos del alumno
# pida sus calificaciones, calcule el promedio y muestre (NO) aprobado
# Ya vimos print() e input() ...Pues empecemos!
strAlumno = input("Introduzca nombre del alumno: ")
print("Hola", strAlumno)
print("Por favor, capture sus 4 calificaiones")
intCalificacion_1 = int(input("Calificación 1: "))
intCalificacion_2 = int(input("Calificación 2: "))
intCalificacion_3 = int(input("Calificación 3: "))
intCalificacion_4 = int(input("Calificación 4: "))
# Esto será más o menos así
# >>> Introduzca nombre del alumno: Luis Urbalejo
# >>> Hola Luis Urbalejo
# >>> Por favor, capture sus 4 calificaiones
# >>> Calificación 1: 9
# >>> Calificación 2: 8
# >>> Calificación 3: 10
# >>> Calificación 4: 9
# Bueno, ya tenemos el nombre del alumno en la variable strAlumno
# y las 4 calificaciones en intCalificacion_1, intCalificacion_2,
# intCalificacion_3 y intCalificacion_4
# (Para los que estén pensando que se puede hacer con listas.. awantaaa.jpg)
# Ya podemos hacer una operación para calcular el promedio (media)
# Sumar las 4 calificaciones y después dividirlas entre 4
intSumaCalificaciones = intCalificacion_1 + intCalificacion_2 
+ intCalificacion_3 + intCalificacion_4
# Aaahh si.. no les dije de como quebrar una linea... pues así con 
fltPromedio = intSumaCalificaciones /4
print(fltPromedio)
# >>> 9.0
Síguenos en el Grupo de Facebook 6. Por fin!!! Algo del ejemplo en pastebin Peras y Manzanas en Repl.it
Python, Te lo explico con Peras y Manzanas
# 7. Indentación y Condicional if, elif, else
# ============================================================================ #
# El condicional if se utiliza para ejecutar una instrucción en caso de que una y/o más condiciones se
cumplan... esto es cuando la decisión sea True
# elif se usa después de usar if y es opcional. Se pueden usar tantos elif como uno desee
# else, es opcional y se usa al final de todas las condiciones echas con if … se ejecuta cuando no se
cumplen las condiciones anteriores
# Sintáxis:
# if condiciones:
# instrucciones si condición fue verdadera
# elif condiciones: <--- Opcional, puede haber más de un elif
# instrucciones si condición fue verdadera
# else: <---- Opcional
# instrucciones si no se cumplen las condiciones anteriores
# En python no existe begin o end explícitos, ni llaves que marquen dónde empieza o termina un ciclo,
bucle, función o serie de instrucciones.
# El único delimitador son dos puntos (:) y el sangrado del código.
# El sangrado o indentación pueden ser de 3 a 5 espacios normalmente
# Ejemplos
intEdad = int(input("Edad: "))
if intEdad >= 18: # Condición si el valor de intEdad es mayor igual a 18
# dos puntos significa que habrá un bloque de instrucciones para if
# a continuación... deberá estar indentadas
print("Es mayor de edad")
elif intEdad < 1: # Condición si el valor de intEdad es menor que 1
# Se indenta el bloque de instrucciones para el elif
print("Edad no debe ser menor a 1")
else: # Si no se cumplen las anteriores entra al else
# Se indenta el bloque de instrucciones para el else
print("Es menor de edad")
# <-- Al volver a la indentación anterior sale del if
# >>> Edad: 44
# >>> Es mayor de edad
# Volvámos al ejercicio de las calificaciones...
# calculamos el promedio en fltPromedio
if fltPromedio >= 6:
print("APROBADO!!")
else:
print("NO APROBADO!!!")
Síguenos en el Grupo de Facebook 7. Indentación y Condicional en pastebin Peras y Manzanas en Repl.it
Python, Te lo explico con Peras y Manzanas
# 8. LISTAS .append() y función len()
# ============================================================================ #
# Una lista es una variable / objeto que puede contener N elementos de datos de cualquier tipo,
incluyendo listas dentro de listas
# Imagínala como un archivero con N cajones...cada cajón, de abajo hacia arriba está enumerado,
iniciando del 0 el primer cajón, 1 el segundo... y así...
# En cada cajón puedes almacenar un valor (numérico, string, lista, etc.)
lstArchivero = [ ] # Inicializamos la lista vacía
print(lstArchivero) # Mostramos la lista
# >>> [ ]
print("Cajones:",len(lstArchivero)) # len( ) podemos saber la cantidad de cajones
# >>> Cajones: 0
# Agreguemos un cajón al Archivero
lstArchivero.append("Luis")
print("El archivero contiene:", lstArchivero)
# >>> El archivero contiene: ['Luis']
print("No. de cajones:", len(lstArchivero))
# >>> No. de cajones: 1
# Agreguemos un cajón más
lstArchivero.append(2020)
print("El archivero contiene:", lstArchivero)
# >>> El archivero contiene: ['Luis', 2020]
print("No. de cajones:", len(lstArchivero))
# >>> No. de cajones: 2
# Podemos agregar el valor de una variable
lstDatos = ["Puedes INICIALIZAR", "una lista", "con cajones", "en lugar de", 0 ]
lstArchivero.append(lstDatos)
print("El archivero contiene:", lstArchivero)
# >>> El archivero contiene: ['Luis', 2020, ['Puedes INICIALIZAR', 'una lista', 'con cajones', 'en lugar de',
0]]
print("No. de cajones:", len(lstArchivero))
# >>> No. de cajones: 3
# Para ver el valor de un elemento pones el nombre de la lista y su [ indice ]
print(lstArchivero[1]) # Muestra el segundo cajón
# >>> 2020
# Así igual puede modificarse el valor del cajón
lstArchivero[1] = "este valor era numérico y ahora es una cadena"
print(lstArchivero[1])
# >>> este valor era numérico y ahora es una cadena
print("El archivero contiene:", lstArchivero)
# >>> El archivero contiene: ['Luis', 'este valor era numérico y ahora es una cadena', ['Puedes
INICIALIZAR', 'una lista', 'con cajones', 'en lugar de', 0]]
print("No. de cajones:", len(lstArchivero))
# >>> No. de cajones: 3
Síguenos en el Grupo de Facebook 8. LISTAS .append() y función len() en pastebin Peras y Manzanas en Repl.it
Python, Te lo explico con Peras y Manzanas
# 9. LISTAS copiar una lista, editar, borrar, insertar un valor de la lista
# ============================================================================ #
# Ya vimos como agregar datos a una lista
lstLista = [2, 4, 6, 7, 8, 10, 12, 13] # Si, el 7 y el 13 los puse a propósito
lstNoCopia = lstLista # Esto NO es una copia sino una referencia a lstLista
lstCopia = lstLista.copy() # Con .copy() podemos hacer una copia de una lista
lstCopia = lstLista[:] # Otra manera de hacer una copia es con slice
lstCopia = lstLista[0:len(lstLista)] # es lo mismo que la anterior
# Para imprimir toda la lista
print(lstCopia) # >>> [2, 4, 6, 7, 8, 10, 12, 13]
# Si queremos que no salgan los [ ]
print(*lstCopia) # >>> 2 4 6 7 8 10 12 13
# Para imprimir el valor de un elemento lista[indice]
print(lstCopia[3]) # >>> 7 ya que corresponde al indice 3 (empieza de 0)
# Para imprimir un rango se usa el slice, esto es lista[indice : indice + elementos]
print(lstCopia[4:7]) # >>> [8, 10, 12] es confuso el slice [4:7] pero 7-4 = 3
# Vamos a modificar un valor en la lista lista[indice] = Nuevo Valor
lstCopia[3] = 0
print(lstCopia) # >>> [2, 4, 6, 0, 8, 10, 12, 13]
lstCopia[-1] = 14 # -1 empieza de derecha a izquierda [<--... -4, -3, -2, -1]
print(lstCopia) # >>> [2, 4, 6, 0, 8, 10, 12, 14]
# Para borrar un elemento.. por ejemplo ese 0 el indice 3
lstCopia.remove(0) # lista.remove(valor) el primer valor encontrado de izq a der
print(lstCopia) # >>> [2, 4, 6, 8, 10, 12, 14]
lstCopia = lstLista.copy() # Restauramos la lista para volverlo a borrar
print(lstCopia.pop(3)) # >>> 7 Retorna el valor eliminado del indice 3
print(lstCopia) # >>> [2, 4, 6, 8, 10, 12, 13]
lstCopia = lstLista.copy() # Restauramos la lista para volverlo a borrar
# Otro método para borrar elementos de la lista es con slicing
lstCopia = lstCopia[:3] + lstCopia[4:] # toma del [0:3] = [2, 4, 6] y del [4: al final] = [8, 10, 12, 13]
print(lstCopia) # >>> [2, 4, 6, 8, 10, 12, 13]
# Así puedes agregar un valor al final... como el lstCopia.append(16)
lstCopia = lstCopia + [16]
print(lstCopia) # >>> [2, 4, 6, 8, 10, 12, 13, 16]
# o insertar un valor en la lista.. como lstCopia.insert(4, 9)
lstCopia = lstCopia[:4] + [9] + lstCopia[4:]
print(lstCopia) # >>> [2, 4, 6, 8, 9, 10, 12, 13, 16]
lstCopia = lstLista.copy() # Restauramos la lista para volverlo a borrar
del lstCopia[3] # Borramos el elemento de la lista con índice 3
print(lstCopia) # >>> [2, 4, 6, 8, 10, 12, 13]
del lstCopia # hemos borrado la lista completa!!!
print(lstCopia) # >>> NameError: name 'lstCopia' is not defined
Síguenos en el Grupo de Facebook 9. LISTAS copiar, editar, borrar e insertar en pastebin Peras y Manzanas en Repl.it
Python, Te lo explico con Peras y Manzanas
# 10. LISTAS contar, ordenar, devolver valor mínimo y máximo
# ============================================================================ #
# Tenemos una lista con los siguientes valores
lstLista = [8, 2, 5, 7, 2, 9, 5, 7, 2, 3, 8, 1, 4, 6, 1]
lstCopia = lstLista.copy() # Con .copy() podemos hacer una copia de una lista
# Hay valores repetidos y desordenados
# Vamos a contar cuántos valores 8 hay en la lista
print(lstCopia.count(8)) # >>> 2 (en el índice 0 y 10) .. 0 si no encuentra
print(lstCopia.index(8)) # >>> 0 Regresa el primer índice encontrado el valor
# en lista.index(valor) si no encuentra el valor en la lista dará error
# Para saber si un valor se encuentra en la lista podemos usar <valor> in <lista>
if 10 in lstCopia:
print(lstCopia.index(10)) # No entra al if porque no existe ese valor
# Para ordenar listas podemos usar la función sorted(<lista>) que no la altera
print(sorted(lstCopia)) # >>> [1, 1, 2, 2, 2, 3, 4, 5, 5, 6, 7, 7, 8, 8, 9]
print(lstCopia) # [8, 2, 5, 7, 2, 9, 5, 7, 2, 3, 8, 1, 4, 6, 1]
# o <lista>.sort() que si afecta el orden de la lista
print(lstCopia.sort()) # >>> None No retorna nada
print(lstCopia) # >>> [1, 1, 2, 2, 2, 3, 4, 5, 5, 6, 7, 7, 8, 8, 9]
# ordenamiento de mayor a menor con <lista>.reverse() afectará <lista>
print(lstCopia.reverse()) # >>> None No retorna nada
print(lstCopia) # >>> [9, 8, 8, 7, 7, 6, 5, 5, 4, 3, 2, 2, 2, 1, 1]
# Para saber el valor mínimo o máximo de la lista puedes ordenar la lista
lstCopia.sort() # Aquí se ordena de menor a mayor
print(lstCopia[0]) # >>> 1 Así que sabemos que el primero es el menor
print(lstCopia[-1]) # >>> 9 Y el último el mayor
# Pero para qué reinventar la rueda? Si ya están las funciones min() y max() para eso…
lstCopia = lstLista.copy() # Restauramos la lista original
print(min(lstCopia)) # >>> 1
print(max(lstCopia)) # >>> 9
Síguenos en el Grupo de Facebook 10. LISTAS contar, ordenar en pastebin Peras y Manzanas en Repl.it
Python, Te lo explico con Peras y Manzanas
# 11. LISTAS eliminar repetidos con conjuntos set()
# ============================================================================ #
# Un conjunto es una colección no ordenada de objetos únicos.
# Se crean entre { }, como los diccionarios pero no tienen key... luego vemos eso
# El caso es que, como los valores son únicos… no se repiten
# Tenemos una lista con los siguientes valores
lstLista = [8, 2, 5, 7, 2, 9, 5, 7, 2, 3, 8, 1, 4, 6, 1]
lstCopia = lstLista.copy() # Con .copy() podemos hacer una copia de una lista
# Vamos a eliminar repetidos
# La peladita es convertir la lista a conjunto con set(<lista>)
# y luego convertir el conjunto en lista nuevamente... con list(<objeto>)
print(set(lstCopia)) # >>> {1, 2, 3, 4, 5, 6, 7, 8, 9} Ordena y elimina repetidos
print(lstCopia) # [8, 2, 5, 7, 2, 9, 5, 7, 2, 3, 8, 1, 4, 6, 1] pero no la cambia
# Haremos lo siguiente <lista> = list( set ( <lista> ) )
lstCopia = list ( set ( lstCopia ))
# lstCopia <--asignamos convierteAlista( convierteAconjunto( lista repetidos))
print(lstCopia) # >>> [1, 2, 3, 4, 5, 6, 7, 8, 9] Uy que fácil!....
# Otra manera de eliminar repetidos se utiliza el bucle for que lo explicaré en el 12
Síguenos en el Grupo de Facebook 11. LISTAS eliminar repetidos con set() en pastebin Peras y Manzanas en Repl.it
Python, Te lo explico con Peras y Manzanas
# 12. El blucle for
# ============================================================================ #
# El bucle o ciclo for se usa para recorrer los elementos de un objeto iterable (string, lista, tupla,
conjunto, diccionario, rango, etc.)
# Sintaxis:
# for <objetos> in <iterable>:
# <ciclo de sentencias>
# break Opcional para romper y salir del ciclo for
# continue Opcional para ir a la siguiente iteración
# else:
# Código que siempre se ejecutará al final si no hubo un break
# Ejemplos
lstLista = [8, 2, 5, 7, 2, 9, 5, 7, 2, 3, 8, 1, 4, 6, 1]
for i in lstLista:
print(i, end="..")
# >>> 8..2..5..7..2..9..5..7..2..3..8..1..4..6..1..
print()
# range(min=0, máx, step=1) Crea una secuencia numérica iterable
# Imprimir los números pares de 0 a 12
for i in range(13):
if i % 2 == 1: # El operador aritmetico % regresa residuo de la división
# Si el residuo es 1 de la div entre 2 .. es impar
continue # entonces va a la siguiente iteración
print(i, end=", ")
# >>> 0, 2, 4, 6, 8, 10, 12,
print()
# imprimir los pares de lstLista
for i in lstLista:
if i % 2 == 1:
continue
print(i, end =", ")
# >>> 8, 2, 2, 2, 8, 4, 6,
print()
# Encontrar el número 3 en lstLista
for valor in lstLista:
if valor == 3:
print("valor encontrado!")
break # Rompe el for
else: # Si no hubo break, entra al else
print("No se encontró el número 3")
# >>> valor encontrado!
Síguenos en el Grupo de Facebook 12. El bucle for en pastebin Peras y Manzanas en Repl.it
Python, Te lo explico con Peras y Manzanas
# 13. LISTAS eliminar repetidos usando for
# ============================================================================ #
# Tenemos una lista con los siguientes valores
lstLista = [8, 2, 5, 7, 2, 9, 5, 7, 2, 3, 8, 1, 4, 6, 1]
lstCopia = lstLista.copy() # Con .copy() podemos hacer una copia de una lista
# Ahora vamos a eliminar valores que se repitan
lstNoRepetidos =[ ] # Inicializamos una lista donde pondremos valores únicos
for elemento in lstCopia:
if elemento not in lstNoRepetidos: # Si no existe en la lista no repetidos
# También puede usarse la condición lstNoRepetidos.count(elemento) == 0:
lstNoRepetidos.append(elemento) # Agregamos el elemento
print(lstCopia) # >>> [8, 2, 5, 7, 2, 9, 5, 7, 2, 3, 8, 1, 4, 6, 1]
print(lstNoRepetidos) # >>> [8, 2, 5, 7, 9, 3, 1, 4, 6]
print(sorted(lstNoRepetidos)) # >>> [1, 2, 3, 4, 5, 6, 7, 8, 9] Ordenados con sorted()
# Ordenar la lista por el método burbuja
for i in range(len(lstNoRepetidos)):
for j in range(i + 1, len(lstNoRepetidos)):
if lstNoRepetidos[i] > lstNoRepetidos[j]:
lstNoRepetidos[i], lstNoRepetidos[j] = lstNoRepetidos[j], lstNoRepetidos[i]
print(lstNoRepetidos) # >>> [1, 2, 3, 4, 5, 6, 7, 8, 9]
Síguenos en el Grupo de Facebook 13. LISTAS eliminar repetidos con for en pastebin Peras y Manzanas en Repl.it
Python, Te lo explico con Peras y Manzanas
# 14. Volvemos al ejercicio… usando listas y for
# ============================================================================ #
# Se acuerdan que estábamos haciendo un ejercicio de calificaciones (6.)
# Perfecto.. ya vimos listas y el for... vamos a utilizarlas
strAlumno = input("Introduzca nombre del alumno: ") # >>> Introduzca nombre del alumno: Luis
print("Hola", strAlumno) # >>> Hola Luis
print("Por favor, capture sus 4 calificaiones") # >>> Por favor, capture sus 4 calificaiones
lstCalificaciones = [ ] # Inicializamos la lista par calificaciones
for i in range(4):
lstCalificaciones.append(int(input("Calificacion " + str(i + 1) + ": ")))
# Pudo ser así:
# intCalificacion = int(input("Calificacion " + str(i + 1) + ": "))
# lstCalificaciones.append(intCalificacion)
# >>> Calificacion 1: 10
# >>> Calificacion 2: 9
# >>> Calificacion 3: 8
# >>> Calificacion 4: 8
# Hay una función para sumar listas.. sum(<lista>)
fltPromedio = sum(lstCalificaciones) / len(lstCalificaciones)
print("Promedio", fltPromedio, end =" ")
if fltPromedio >= 6:
print("APROBADO!!!")
else:
print("NO APROBADO!!!")
# >>> Promedio 8.75 APROBADO!!!
Síguenos en el Grupo de Facebook 14. Volvemos al ejercicio…listas y for en pastebin Peras y Manzanas en Repl.it
Python, Te lo explico con Peras y Manzanas
# 15. El guail… el bucle while pues!
# ============================================================================ #
# Un bucle while permite repetir la ejecución de un grupo de instrucciones
# mientras se cumpla una condición (mientras la condición tenga el valor True).
# Sintaxis:
# while <condición verdadera>:
# <sentencias del ciclo>
# break Opcional, para quebrar el ciclo
# continue Opcional, para volver al inicio del while
# else: Se ejecuta cuando no hace un break
# <sentencias del else>
# Ejemplos
# Imprimir los números del 1 al 10
intContador = 1 # Inicializamos un contador en 1
while intContador < 11: # Mientras el contador sea menor que 11:
print(intContador, end=" ") # Imprime el contador, con terminación un espacio
intContador += 1 # Incrementamos el contador
else: # Si no hubo un break ejecutar el else
print("nfin del while") # Imprimir con salto de linea "fin del while"
# >>> 1 2 3 4 5 6 7 8 9 10
# >>> fin del while
# Hay que tener mucho cuidado de no hacer un ciclo infinito donde nunca salga
# Por ejemplo, si no incrementamos el contador dentro del while NUNCA SALDRÍA!
# Otro Ejemplo, ahora un ciclo infinito (-pero si dijiste que no lo hiieramos!!!)
# Quién me entiende pues?... es que este ciclo infinito tendrá un break
while True: # <--- Siempre se cumplirá la condición.. ciclo infinito
strNombre = input("Nombre (escriba fin para salir): ")
if strNombre == "fin": # Si se captura 'fin'
break # quiebra el ciclo while
print(f"Hola {strNombre}, es un placer")
print("Fin del ciclo.. no es necesario el else: porque nunca se ejecutaría")
Síguenos en el Grupo de Facebook 15. El bucle while en pastebin Peras y Manzanas en Repl.it
Python, Te lo explico con Peras y Manzanas
# 16. Ejercicio Alumno con while
# ============================================================================ #
# Sobre el ejercicio del episodio XIV ....
# Hace mucho tiempo, en una galaxia muy, muy lejana.... estabamos
# haciendo un ejercicio de un alumno en el que capturabamos las 4
# calificaciones en una lista, con un for y mostrabamos su promedio
# Pues ahora modificaremos para "n" alunmos con while
# Dejaremos el código igual.. solo añadiremos el ciclo while y daremos
# sangrado al código ya hecho para que sea parte del ciclo
while True: # - Neta loco..chingas! con los ciclos infinitos...NO!!!
# + Si, como chingados qué no?... saldremos con break
# Daremos indentación --> al código que ya teníamos
strAlumno = input("Introduzca nombre del alumno (fin para salir): ")
# >>> Introduzca nombre del alumno (fin para salir): Luis
# Y Añadimos este extra para salir si se escribe "fin" o "FIN" o "FiN "
if strAlumno.lower().strip() == "fin": # .lower() a minúsculas y
break # quiebra el ciclo # .strip() quita espacios <-->
print("Hola", strAlumno)
# >>> Hola Luis
print("Por favor, capture sus 4 calificaiones")
# >>> Por favor, capture sus 4 calificaiones
lstCalificaciones = [ ] # Inicializamos la lista par calificaciones
for i in range(4):
lstCalificaciones.append(int(input("Calificación " + str(i + 1) + ": ")))
# >>> Calificacion 1: 10
# >>> Calificacion 2: 9
# >>> Calificacion 3: 8
# >>> Calificacion 4: 8
# Hay una función para sumar listas.. sum(<lista>)
fltPromedio = sum(lstCalificaciones) / len(lstCalificaciones)
print("Promedio", fltPromedio, end =" ")
if fltPromedio >= 6:
print("APROBADO!!!")
else:
print("NO APROBADO!!!")
# >>> Promedio 8.75 APROBADO!!!
Síguenos en el Grupo de Facebook 16. Ejercicio Alumno con while en pastebin Peras y Manzanas en Repl.it
Python, Te lo explico con Peras y Manzanas
# 17. Receso
# ============================================================================ #
# Que solo acepte un valor entero entre 10 y 20
while True: # Ciclo infinito hasta que se capture un valor correcto
strNumero = input("Numero entre 10 y 20: ")
if strNumero.isdigit(): # Si se capturaron números
intNumero = int(strNumero) # Convertimos a número entero
if 10 <= intNumero <= 20: # Rango entre 10 y 20
break # rompe el ciclo para continuar con el programa
else:
print("Escribe un número entre 10 y 20")
else:
print("Error! solo se aceptan números en captura")
print("El número es", intNumero)
# >>> Numero entre 10 y 20: 4
# >>> Escribe un número entre 10 y 20
# >>> Numero entre 10 y 20: fasd
# >>> Error! solo se aceptan números en captura
# >>> Numero entre 10 y 20: 16
# >>> El número es 16
if intNumero == 16:
print("correcto!")
else:
print("incorrecto!")
# Se puede hacer en una sola línea if else ... 3 maneras a continuación
print("correcto!") if intNumero == 16 else print("incorrecto!")
print("correcto!" if intNumero == 16 else "incorrecto!")
print(("in" if intNumero !=16 else "") + "correcto!" )
Síguenos en el Grupo de Facebook 17. Receso en pastebin Peras y Manzanas en Repl.it
Python, Te lo explico con Peras y Manzanas
# 18. Diccionarios…
# ============================================================================ #
# Es hora de hablar de diccionarios.. qué son?
# Un diccionario es una colección no ordenada de objetos que tienen
# una llave (key) para identificar un valor separados por dos puntos
# y cada elemento key:value separados por coma...todo encerrado { }
# Ejemplo:
dicColores = {"verde":"green", "blanco":"white", "rojo":"red"}
# Podemos obtener el valor con <diccionario>.get(<key>)
print(dicColores.get("verde")) # >>> green
# O de la forma <diccionario>[key]
print(dicColores["rojo"]) # >>> red
# Agregar o modificar un valor <diccionario>[key] = <valor>
dicColores["negro"] = "Nigga" # Ups...
print(dicColores)
# >>> {'verde': 'green', 'blanco': 'white', 'rojo': 'red', 'negro': 'Nigga'}
dicColores["negro"] = "black" #same shit dicColores.update({"negro":"black"})
print(dicColores)
# >>> {'verde': 'green', 'blanco': 'white', 'rojo': 'red', 'negro': 'black'}
# Podemos Devolver un valor y eliminarlo con <diccionario>.pop(<key>
print(dicColores.pop("negro")) # >>> black
print(dicColores) # >>> {'verde': 'green', 'blanco': 'white', 'rojo': 'red' }
print("blanco" in dicColores.keys()) # >>> True
print("green" in dicColores.values()) # >>> True
# Los keys pueden ser cualquier tipo de datos pero se usan string o int
# Los valores pueden ser cualquier objeto...listas, diccionarios, etc
dic = { 1:"Usuario 1", "lenguajes": ["python", "c++", "JS"], "pares":[2, 4, 6]}
Síguenos en el Grupo de Facebook 18. Diccionarios…. En pastebin Peras y Manzanas en Repl.it
Por el momento es todo… pero aún falta el ejercicio con diccionarios, funciones, clases….
Si les ha gustado este documento favor de dejar comentarios en la publicación Peras y Manzanas del
Grupo de Facebook
Se agradecerá cualquier sugerencia… Se ocupa mejorar este documento... es su versión 1.0
Luis Urbalejo, 15 de Junio del 2020

Más contenido relacionado

La actualidad más candente

La actualidad más candente (11)

Capítulo 1 Qbasic entrada y salida básica
Capítulo 1  Qbasic entrada y salida básicaCapítulo 1  Qbasic entrada y salida básica
Capítulo 1 Qbasic entrada y salida básica
 
Ejercicios con Python parte 05
Ejercicios con Python parte 05Ejercicios con Python parte 05
Ejercicios con Python parte 05
 
Taller I Coreis Python 10112009
Taller I Coreis Python 10112009Taller I Coreis Python 10112009
Taller I Coreis Python 10112009
 
Ejercicios Python parte 4
Ejercicios Python parte 4Ejercicios Python parte 4
Ejercicios Python parte 4
 
Encriptacion y crackmes_en_batch_desde_0_by_xassiz
Encriptacion y crackmes_en_batch_desde_0_by_xassizEncriptacion y crackmes_en_batch_desde_0_by_xassiz
Encriptacion y crackmes_en_batch_desde_0_by_xassiz
 
Funciones
FuncionesFunciones
Funciones
 
Hack x crack_batch2
Hack x crack_batch2Hack x crack_batch2
Hack x crack_batch2
 
Ejercicios de programacionc++
Ejercicios de programacionc++Ejercicios de programacionc++
Ejercicios de programacionc++
 
01 el lenguaje Python
01 el lenguaje Python01 el lenguaje Python
01 el lenguaje Python
 
Ejercicios de Aplicación de las Instrucciones de Entrada y Salida.
Ejercicios de Aplicación de las Instrucciones de Entrada y Salida.Ejercicios de Aplicación de las Instrucciones de Entrada y Salida.
Ejercicios de Aplicación de las Instrucciones de Entrada y Salida.
 
Matrices
MatricesMatrices
Matrices
 

Similar a Python, te lo explico con peras y manzanas

Lenguaje latino
Lenguaje latinoLenguaje latino
Lenguaje latinoReneSergio
 
Convertir nmeros-a-letras
Convertir nmeros-a-letrasConvertir nmeros-a-letras
Convertir nmeros-a-letraspopelinux
 
Clase 08 Python UP 2022-2.pptx
Clase 08 Python UP 2022-2.pptxClase 08 Python UP 2022-2.pptx
Clase 08 Python UP 2022-2.pptxJoelMCh
 
Lo básico sobre strings
Lo básico sobre stringsLo básico sobre strings
Lo básico sobre stringsGoogle
 
Semana03 prog ii
Semana03 prog iiSemana03 prog ii
Semana03 prog iiPropia
 
Lenguaje de Programacion - Java
Lenguaje de Programacion - JavaLenguaje de Programacion - Java
Lenguaje de Programacion - Javazousbabastre
 
Instrucciones primitivas en pseudocódigo
Instrucciones primitivas en pseudocódigoInstrucciones primitivas en pseudocódigo
Instrucciones primitivas en pseudocódigoAbrirllave
 
Apunte pseudocodigo bucles y arrays v1.1
Apunte pseudocodigo bucles y arrays v1.1Apunte pseudocodigo bucles y arrays v1.1
Apunte pseudocodigo bucles y arrays v1.1Alejandro Canosa
 
Introducción a python.pdf
Introducción a python.pdfIntroducción a python.pdf
Introducción a python.pdfAz
 
80 Php. Campos Y Conexiones
80 Php. Campos Y Conexiones80 Php. Campos Y Conexiones
80 Php. Campos Y ConexionesJosé M. Padilla
 
Semana 2 Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
Semana 2   Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)Semana 2   Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
Semana 2 Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)Richard Eliseo Mendoza Gafaro
 

Similar a Python, te lo explico con peras y manzanas (20)

Lenguaje latino
Lenguaje latinoLenguaje latino
Lenguaje latino
 
Python básico II
Python básico IIPython básico II
Python básico II
 
Convertir nmeros-a-letras
Convertir nmeros-a-letrasConvertir nmeros-a-letras
Convertir nmeros-a-letras
 
Clase 08 Python UP 2022-2.pptx
Clase 08 Python UP 2022-2.pptxClase 08 Python UP 2022-2.pptx
Clase 08 Python UP 2022-2.pptx
 
Ejercicios resueltos con Python
Ejercicios resueltos con PythonEjercicios resueltos con Python
Ejercicios resueltos con Python
 
if-while-for.ppsx
if-while-for.ppsxif-while-for.ppsx
if-while-for.ppsx
 
Lo básico sobre strings
Lo básico sobre stringsLo básico sobre strings
Lo básico sobre strings
 
Semana03 prog ii
Semana03 prog iiSemana03 prog ii
Semana03 prog ii
 
Strings
StringsStrings
Strings
 
Clase 6
Clase 6Clase 6
Clase 6
 
Tipos de datos en C
Tipos de datos en CTipos de datos en C
Tipos de datos en C
 
Lenguaje de Programacion - Java
Lenguaje de Programacion - JavaLenguaje de Programacion - Java
Lenguaje de Programacion - Java
 
Instrucciones primitivas en pseudocódigo
Instrucciones primitivas en pseudocódigoInstrucciones primitivas en pseudocódigo
Instrucciones primitivas en pseudocódigo
 
Apunte pseudocodigo bucles y arrays v1.1
Apunte pseudocodigo bucles y arrays v1.1Apunte pseudocodigo bucles y arrays v1.1
Apunte pseudocodigo bucles y arrays v1.1
 
Introducción a python.pdf
Introducción a python.pdfIntroducción a python.pdf
Introducción a python.pdf
 
Entrada
EntradaEntrada
Entrada
 
80 Php. Campos Y Conexiones
80 Php. Campos Y Conexiones80 Php. Campos Y Conexiones
80 Php. Campos Y Conexiones
 
P3si
P3siP3si
P3si
 
Python (práctica 4)
Python (práctica 4)Python (práctica 4)
Python (práctica 4)
 
Semana 2 Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
Semana 2   Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)Semana 2   Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
Semana 2 Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
 

Último

Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajasjuanprv
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfbcondort
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 
clasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesclasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesMIGUELANGEL2658
 
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASDOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASPersonalJesusGranPod
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingKevinCabrera96
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
clases de porcinos generales de porcinos
clases de porcinos generales de porcinosclases de porcinos generales de porcinos
clases de porcinos generales de porcinosDayanaCarolinaAP
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónXimenaFallaLecca1
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILProblemSolved
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfAntonioGonzalezIzqui
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxJuanPablo452634
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdfCristhianZetaNima
 
Mapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMONICADELROCIOMUNZON1
 
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOPERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOFritz Rebaza Latoche
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfs7yl3dr4g0n01
 
Ingeniería clínica 1 Ingeniería biomedica
Ingeniería clínica 1 Ingeniería biomedicaIngeniería clínica 1 Ingeniería biomedica
Ingeniería clínica 1 Ingeniería biomedicaANACENIMENDEZ1
 

Último (20)

Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajas
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 
clasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesclasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias locales
 
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASDOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards Deming
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
clases de porcinos generales de porcinos
clases de porcinos generales de porcinosclases de porcinos generales de porcinos
clases de porcinos generales de porcinos
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcción
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
 
Mapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptx
 
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOPERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdf
 
Ingeniería clínica 1 Ingeniería biomedica
Ingeniería clínica 1 Ingeniería biomedicaIngeniería clínica 1 Ingeniería biomedica
Ingeniería clínica 1 Ingeniería biomedica
 

Python, te lo explico con peras y manzanas

  • 1. Python, Te lo explico con Peras y Manzanas # 1. LOS TIPOS DE DATOS # ============================================================================ # # str: string o cadenas de caracteres se encierran entre ' ' o " " "Hola Covid-19" 'esta es un string' """ También es posible usar 3 comillas dobles o 3 comillas simples al principio y fin de la cadena para hacerla multilineas """ "si ocupas usar 'comilla simple' dentro de la cadena" 'y si necesitas que tenga "comillas dobles" ..así ' # ============================================================================ # # int: Números enteros 13 # Así de pelada... no hay que explicar más # ============================================================================ # # float: Números de coma flotante, reales... con decimal pues'n 13.45 # ============================================================================ # # bool: Booleanos Verdadero y Falso True # 1 puede ser considerado verdadero False # 0, None, "", (), {}, [], set(), range(0) # ============================================================================ # # No me pregunten por números complejos... no los explicaré aquí... # Con éstos son más que suficientes para empezar Síguenos en el Grupo de Facebook 1. TIPOS DE DATOS en pastebin Peras y Manzanas en Repl.it
  • 2. Python, Te lo explico con Peras y Manzanas # 2. VARIABLES, OPERADORES de comparación y lógicos # ============================================================================ # # Las variables son nombres de objetos que residen en la memoria # Una variable puede ser nombrada como gustes a excepción de: # El primer caracter no puede ser un número # No usar símbolos especiales !, @, #, $, %, etc. # No debe ser nombrada igual que una palabra reservada # A las variables hay que asignarle un tipo de datos con el signo = # La variable asignada deberá ir al lado izquierdo del = y el valor a asignar al lado derecho MiVariable = "hola" # Se le ha asignado una cadena con valor "hola" Edad = 44 # Esta variable tiene un valor numérico entero de 44 MiVariable = 44 # Puede cambiar la variable de tipo de dato MiVariable = Edad # Puedes asignarle el valor de otra variable MiLista = [1, 2, 3, 4, 5] # Una variable con valor de una lista aprobado = True # Una variable booleana aprobado = promedio >= 6 # Una variable con una condición si otra variable es mayor a 6 # Python sugiere que los nombres de variables sean de tipo snake_case, esto es… nombres en minúsculas con separador entre palabras por un guión bajo _ , por ejemplo nombre_estudiante = “Luis Urbalejo” # Soy más del tipo CamelCase donde los nombres de variables inician con mayúscula en cada palabra.. por ejemplo NombreEstudiante = “Luis Urbalejo” # Cada quien es libre de usar el tipo de variable, yo hasta las mezclo jeje…. Mientras el código sea limpio y entendible… # Nombres de mis variables.... # Utilizo UpperCamelCase y antepongo: # str para variables de cadena: strNombre, strArchivo # int para variables de tipo entero: intNumero, intEdad # flt para flotantes # bol para booleanos True y False # lst para Listas # tpl para tuplas # dic para diccionarios # Y así.... capicci? # Operadores de Comparación # ============================================================================ # # Para realizar comparaciones lógicas se utilizan operadores de comparación. Estos son # == igual a # > mayor que Operadores Lógicos # < menor que #=========================================# # != diferente a Se utilizan para agrupar operaciones con lógica booleana # >= mayor o igual a not (no) and ( y ) or (o) # <= menor o igual a Síguenos en el Grupo de Facebook 2.VARIABLES en pastebin Peras y Manzanas en Repl.it
  • 3. Python, Te lo explico con Peras y Manzanas # 3. Función print() # ============================================================================ # # La función print() dará una salida a la consola # Su sintáxis: # print(objetos, sep='separador', end='n', file=file, flush=flush) # end="n" Si no se especifica, al final hace un salto de línea # Los últimos 2 file y flush no los veremos # Ejemplos print("Hola Mundo!") # >>> Hola Mundo! # 2 objetos separados por coma print("Hola", "Mundo!") # >>> Hola Mundo! # usando un separador entre objetos print("Hola", "Mundo!", sep="<->") # >>> Hola<->Mundo! # Usando un end="" no hace un salto de línea print("Hola", end="") # entonces "Mundo!" se imprime seguido print("Mundo!") # >>> HolaMundo! # Concatenado (uniendo) cadenas x = "Hola" y = "Mundo!" z = x + " " + y print(x, y, z) # >>> Hola Mundo! Hola Mundo! x = 3 y = 5 # Se puede imprimir operaciones aritméticas print(x + y) # >>> 8 # Se puede formatear una cadena anteponiendo f" " y entre {} las variables z = f"{x} + {y} = {x + y}" print(z) # >>> 3 + 5 = 8 Síguenos en el Grupo de Facebook 3.Función print() en pastebin Peras y Manzanas en Repl.it
  • 4. Python, Te lo explico con Peras y Manzanas # 4. String, Cheat Codes # ============================================================================ # # Una cadena de caracteres (str-ing) es un tipo de datos que representa texto # Se definen encerrando el valor entre comillas dobles “ “ strNombre = “Luis Urbalejo” # o entre comillas simples ‘ ‘ strGrupo = ‘Python en español (principiantes)’ # También es posible una cadena de texto de varias líneas encerrándola entre triple comillas strMultilineas = “””Esta cadena tiene varias líneas esta es la segunda línea una línea más… “”” print(strMultilineas) # >>> Esta cadena tiene varias líneas # >>> esta es la segunda línea # >>> una línea más… # Se pueden concatenar con + print(strNombre + strGrupo) # >>> Luis UrbalejoPython en español (principiantes) # Multiplicar * print(strNombre * 2) # >>> Luis UrbalejoLuis Urbalejo # Obtener un caracter encerrando el índice entre [ ] print(strNombre[ 5 ]) # >>> U # Obtener un rango de caracteres <string>[índice_inicio : índice_final + 1] print(strNombre[ 5 : 9 ] # >>> Urba # Buscar una subcadena y regresar True si la encuentra print(“Urb” in strNombre) # >>> True # Métodos #Convierte el 1er carácter de la cadena en mayúscula print(“luis Antonio”.capitalize()) # >>> Luis Antonio # Centrar una cadena <string>.center(longitud, carácter_de_llenado) print(“*”.center(10,”-“)) # >>> ----*----- Síguenos en el Grupo de Facebook 4. String, Cheat Codes en pastebin Peras y Manzanas en Repl.it
  • 5. # Contar número de subcadenas en una cadena <string>.count(subcadena, inicio, long) print(strGrupo.count(“e”)) # >>> 3 # Busca una subcadena y regresa la posición o -1 si no la encuentra <string>.find(subcadena, inicio, long) print(strNombre.find(“Urba”)) # >>> 5 # True si la cadena contiene solo letras y/o números print(“abc 123”.isalnum()) # >>> False # Hay un espacio :/ # True si la cadena son solo letras print(“Luiggi”.isalpha()) # >>> True # True si la cadena son solo números print(“2019”.isdigit()) # >>> True # True si la cadena contiene solo minúsculas print(“luis2019”.islower()) # >>> True # True si la cadena contiene solo mayúsculas print(“LUIS2019”.isupper()) # >>> True # Unir una lista como cadena lstLista = [ “Luis”, “Antonio”, “Urbalejo” ] print(“ “.join(lstLista)) # >>> Luis Antonio Urbalejo print(“,“.join(lstLista)) # >>> Luis,Antonio,Urbalejo # Convertir una cadena en una lista print(strGrupo.split(sep=” “) # >>> [ ‘Python’, ‘en’, ‘español’, ‘(principiantes)’ ] # Devuelve la longitud de la cadena print(len(strGrupo)) # >>> 33 # Convierte las mayúsculas a minúsculas print(strGrupo.lower()) # >>> python en español (principiantes) # Convierte las minúsculas a mayúsculas print(strGrupo.upper()) # >>> PYTHON EN ESPAÑOL (PRINCIPIANTES) # Elimina el carácter especificado del lado izquierdo y derecho (espacios si no se especifica) print(“xxxxxHolaxxxMundo!xxxxx”.strip(“x”)) # >>> HolaxxxMundo! # Invierte mayúsculas y minúsculas print(strNombre.swapcase()) # >>> lUIS uRBALEJO Síguenos en el Grupo de Facebook 4. String, Cheat Codes en pastebin Peras y Manzanas en Repl.it
  • 6. Python, Te lo explico con Peras y Manzanas # 5. Función input() # ============================================================================ # # Función input() entrada / captura de datos por teclado # Es utilizada para solicitar datos del usuario por medio del teclado # Siempre retorna una cadena (string)… si el usuario captura números, deberemos convertir esa caden de números en un tipo de datos entero o flotante para hacer operaciones aritméticas sise requiere. # Su sintáxis: # input(objeto opcional) # Normalmente, al retornar una cadena debemos asignarlo a una variable. # Ejemplos strNombre = input("Cómo te llamas? ") print("Hola", strNombre) # >>> Cómo te llamas? Luis # >>> Hola Luis # También es válido de la siguiente manera... mismo resultado print("Hola", input("Cómo te llamas? ")) # >>> Cómo te llamas? Luis # >>> Hola Luis intEdad = input("Edad: ") # Aquí, realmente lo que capturamos será una cadena # y como esperamos un valor entero, ponemos la función int() # quedando así: intEdad = int(input("Edad: ")) # Si no se captura un número entero se generará un error... # para eso están las excepciones... luego las veremos # Es muy común, en los principiantes, no convertir el valor de retorno correcto # por ejemplo la cadena “13.65” que contiene un punto decimal, convertirla a tipo entero generará un error… # int(“13.65”) # ERROR!! # Para solucionar este inconveniente, si deseamos que el dato del usuario sea entero y capturó “13.65” (supongamos)… ocuparíamos convertir primero esa cadena a tipo flotante y después a entero # int( float( “13.65” ) ) # CORRECTO! Síguenos en el Grupo de Facebook 5. Función input() en pastebin Peras y Manzanas en Repl.it
  • 7. Python, Te lo explico con Peras y Manzanas # 6. Por fin!!! Algo del pinche ejemplo ¬¬ # ============================================================================ # # En capítulos anteriores en CSI... # Bueno.. se trata de ir armando un programa que pida datos del alumno # pida sus calificaciones, calcule el promedio y muestre (NO) aprobado # Ya vimos print() e input() ...Pues empecemos! strAlumno = input("Introduzca nombre del alumno: ") print("Hola", strAlumno) print("Por favor, capture sus 4 calificaiones") intCalificacion_1 = int(input("Calificación 1: ")) intCalificacion_2 = int(input("Calificación 2: ")) intCalificacion_3 = int(input("Calificación 3: ")) intCalificacion_4 = int(input("Calificación 4: ")) # Esto será más o menos así # >>> Introduzca nombre del alumno: Luis Urbalejo # >>> Hola Luis Urbalejo # >>> Por favor, capture sus 4 calificaiones # >>> Calificación 1: 9 # >>> Calificación 2: 8 # >>> Calificación 3: 10 # >>> Calificación 4: 9 # Bueno, ya tenemos el nombre del alumno en la variable strAlumno # y las 4 calificaciones en intCalificacion_1, intCalificacion_2, # intCalificacion_3 y intCalificacion_4 # (Para los que estén pensando que se puede hacer con listas.. awantaaa.jpg) # Ya podemos hacer una operación para calcular el promedio (media) # Sumar las 4 calificaciones y después dividirlas entre 4 intSumaCalificaciones = intCalificacion_1 + intCalificacion_2 + intCalificacion_3 + intCalificacion_4 # Aaahh si.. no les dije de como quebrar una linea... pues así con fltPromedio = intSumaCalificaciones /4 print(fltPromedio) # >>> 9.0 Síguenos en el Grupo de Facebook 6. Por fin!!! Algo del ejemplo en pastebin Peras y Manzanas en Repl.it
  • 8. Python, Te lo explico con Peras y Manzanas # 7. Indentación y Condicional if, elif, else # ============================================================================ # # El condicional if se utiliza para ejecutar una instrucción en caso de que una y/o más condiciones se cumplan... esto es cuando la decisión sea True # elif se usa después de usar if y es opcional. Se pueden usar tantos elif como uno desee # else, es opcional y se usa al final de todas las condiciones echas con if … se ejecuta cuando no se cumplen las condiciones anteriores # Sintáxis: # if condiciones: # instrucciones si condición fue verdadera # elif condiciones: <--- Opcional, puede haber más de un elif # instrucciones si condición fue verdadera # else: <---- Opcional # instrucciones si no se cumplen las condiciones anteriores # En python no existe begin o end explícitos, ni llaves que marquen dónde empieza o termina un ciclo, bucle, función o serie de instrucciones. # El único delimitador son dos puntos (:) y el sangrado del código. # El sangrado o indentación pueden ser de 3 a 5 espacios normalmente # Ejemplos intEdad = int(input("Edad: ")) if intEdad >= 18: # Condición si el valor de intEdad es mayor igual a 18 # dos puntos significa que habrá un bloque de instrucciones para if # a continuación... deberá estar indentadas print("Es mayor de edad") elif intEdad < 1: # Condición si el valor de intEdad es menor que 1 # Se indenta el bloque de instrucciones para el elif print("Edad no debe ser menor a 1") else: # Si no se cumplen las anteriores entra al else # Se indenta el bloque de instrucciones para el else print("Es menor de edad") # <-- Al volver a la indentación anterior sale del if # >>> Edad: 44 # >>> Es mayor de edad # Volvámos al ejercicio de las calificaciones... # calculamos el promedio en fltPromedio if fltPromedio >= 6: print("APROBADO!!") else: print("NO APROBADO!!!") Síguenos en el Grupo de Facebook 7. Indentación y Condicional en pastebin Peras y Manzanas en Repl.it
  • 9. Python, Te lo explico con Peras y Manzanas # 8. LISTAS .append() y función len() # ============================================================================ # # Una lista es una variable / objeto que puede contener N elementos de datos de cualquier tipo, incluyendo listas dentro de listas # Imagínala como un archivero con N cajones...cada cajón, de abajo hacia arriba está enumerado, iniciando del 0 el primer cajón, 1 el segundo... y así... # En cada cajón puedes almacenar un valor (numérico, string, lista, etc.) lstArchivero = [ ] # Inicializamos la lista vacía print(lstArchivero) # Mostramos la lista # >>> [ ] print("Cajones:",len(lstArchivero)) # len( ) podemos saber la cantidad de cajones # >>> Cajones: 0 # Agreguemos un cajón al Archivero lstArchivero.append("Luis") print("El archivero contiene:", lstArchivero) # >>> El archivero contiene: ['Luis'] print("No. de cajones:", len(lstArchivero)) # >>> No. de cajones: 1 # Agreguemos un cajón más lstArchivero.append(2020) print("El archivero contiene:", lstArchivero) # >>> El archivero contiene: ['Luis', 2020] print("No. de cajones:", len(lstArchivero)) # >>> No. de cajones: 2 # Podemos agregar el valor de una variable lstDatos = ["Puedes INICIALIZAR", "una lista", "con cajones", "en lugar de", 0 ] lstArchivero.append(lstDatos) print("El archivero contiene:", lstArchivero) # >>> El archivero contiene: ['Luis', 2020, ['Puedes INICIALIZAR', 'una lista', 'con cajones', 'en lugar de', 0]] print("No. de cajones:", len(lstArchivero)) # >>> No. de cajones: 3 # Para ver el valor de un elemento pones el nombre de la lista y su [ indice ] print(lstArchivero[1]) # Muestra el segundo cajón # >>> 2020 # Así igual puede modificarse el valor del cajón lstArchivero[1] = "este valor era numérico y ahora es una cadena" print(lstArchivero[1]) # >>> este valor era numérico y ahora es una cadena print("El archivero contiene:", lstArchivero) # >>> El archivero contiene: ['Luis', 'este valor era numérico y ahora es una cadena', ['Puedes INICIALIZAR', 'una lista', 'con cajones', 'en lugar de', 0]] print("No. de cajones:", len(lstArchivero)) # >>> No. de cajones: 3 Síguenos en el Grupo de Facebook 8. LISTAS .append() y función len() en pastebin Peras y Manzanas en Repl.it
  • 10. Python, Te lo explico con Peras y Manzanas # 9. LISTAS copiar una lista, editar, borrar, insertar un valor de la lista # ============================================================================ # # Ya vimos como agregar datos a una lista lstLista = [2, 4, 6, 7, 8, 10, 12, 13] # Si, el 7 y el 13 los puse a propósito lstNoCopia = lstLista # Esto NO es una copia sino una referencia a lstLista lstCopia = lstLista.copy() # Con .copy() podemos hacer una copia de una lista lstCopia = lstLista[:] # Otra manera de hacer una copia es con slice lstCopia = lstLista[0:len(lstLista)] # es lo mismo que la anterior # Para imprimir toda la lista print(lstCopia) # >>> [2, 4, 6, 7, 8, 10, 12, 13] # Si queremos que no salgan los [ ] print(*lstCopia) # >>> 2 4 6 7 8 10 12 13 # Para imprimir el valor de un elemento lista[indice] print(lstCopia[3]) # >>> 7 ya que corresponde al indice 3 (empieza de 0) # Para imprimir un rango se usa el slice, esto es lista[indice : indice + elementos] print(lstCopia[4:7]) # >>> [8, 10, 12] es confuso el slice [4:7] pero 7-4 = 3 # Vamos a modificar un valor en la lista lista[indice] = Nuevo Valor lstCopia[3] = 0 print(lstCopia) # >>> [2, 4, 6, 0, 8, 10, 12, 13] lstCopia[-1] = 14 # -1 empieza de derecha a izquierda [<--... -4, -3, -2, -1] print(lstCopia) # >>> [2, 4, 6, 0, 8, 10, 12, 14] # Para borrar un elemento.. por ejemplo ese 0 el indice 3 lstCopia.remove(0) # lista.remove(valor) el primer valor encontrado de izq a der print(lstCopia) # >>> [2, 4, 6, 8, 10, 12, 14] lstCopia = lstLista.copy() # Restauramos la lista para volverlo a borrar print(lstCopia.pop(3)) # >>> 7 Retorna el valor eliminado del indice 3 print(lstCopia) # >>> [2, 4, 6, 8, 10, 12, 13] lstCopia = lstLista.copy() # Restauramos la lista para volverlo a borrar # Otro método para borrar elementos de la lista es con slicing lstCopia = lstCopia[:3] + lstCopia[4:] # toma del [0:3] = [2, 4, 6] y del [4: al final] = [8, 10, 12, 13] print(lstCopia) # >>> [2, 4, 6, 8, 10, 12, 13] # Así puedes agregar un valor al final... como el lstCopia.append(16) lstCopia = lstCopia + [16] print(lstCopia) # >>> [2, 4, 6, 8, 10, 12, 13, 16] # o insertar un valor en la lista.. como lstCopia.insert(4, 9) lstCopia = lstCopia[:4] + [9] + lstCopia[4:] print(lstCopia) # >>> [2, 4, 6, 8, 9, 10, 12, 13, 16] lstCopia = lstLista.copy() # Restauramos la lista para volverlo a borrar del lstCopia[3] # Borramos el elemento de la lista con índice 3 print(lstCopia) # >>> [2, 4, 6, 8, 10, 12, 13] del lstCopia # hemos borrado la lista completa!!! print(lstCopia) # >>> NameError: name 'lstCopia' is not defined Síguenos en el Grupo de Facebook 9. LISTAS copiar, editar, borrar e insertar en pastebin Peras y Manzanas en Repl.it
  • 11. Python, Te lo explico con Peras y Manzanas # 10. LISTAS contar, ordenar, devolver valor mínimo y máximo # ============================================================================ # # Tenemos una lista con los siguientes valores lstLista = [8, 2, 5, 7, 2, 9, 5, 7, 2, 3, 8, 1, 4, 6, 1] lstCopia = lstLista.copy() # Con .copy() podemos hacer una copia de una lista # Hay valores repetidos y desordenados # Vamos a contar cuántos valores 8 hay en la lista print(lstCopia.count(8)) # >>> 2 (en el índice 0 y 10) .. 0 si no encuentra print(lstCopia.index(8)) # >>> 0 Regresa el primer índice encontrado el valor # en lista.index(valor) si no encuentra el valor en la lista dará error # Para saber si un valor se encuentra en la lista podemos usar <valor> in <lista> if 10 in lstCopia: print(lstCopia.index(10)) # No entra al if porque no existe ese valor # Para ordenar listas podemos usar la función sorted(<lista>) que no la altera print(sorted(lstCopia)) # >>> [1, 1, 2, 2, 2, 3, 4, 5, 5, 6, 7, 7, 8, 8, 9] print(lstCopia) # [8, 2, 5, 7, 2, 9, 5, 7, 2, 3, 8, 1, 4, 6, 1] # o <lista>.sort() que si afecta el orden de la lista print(lstCopia.sort()) # >>> None No retorna nada print(lstCopia) # >>> [1, 1, 2, 2, 2, 3, 4, 5, 5, 6, 7, 7, 8, 8, 9] # ordenamiento de mayor a menor con <lista>.reverse() afectará <lista> print(lstCopia.reverse()) # >>> None No retorna nada print(lstCopia) # >>> [9, 8, 8, 7, 7, 6, 5, 5, 4, 3, 2, 2, 2, 1, 1] # Para saber el valor mínimo o máximo de la lista puedes ordenar la lista lstCopia.sort() # Aquí se ordena de menor a mayor print(lstCopia[0]) # >>> 1 Así que sabemos que el primero es el menor print(lstCopia[-1]) # >>> 9 Y el último el mayor # Pero para qué reinventar la rueda? Si ya están las funciones min() y max() para eso… lstCopia = lstLista.copy() # Restauramos la lista original print(min(lstCopia)) # >>> 1 print(max(lstCopia)) # >>> 9 Síguenos en el Grupo de Facebook 10. LISTAS contar, ordenar en pastebin Peras y Manzanas en Repl.it
  • 12. Python, Te lo explico con Peras y Manzanas # 11. LISTAS eliminar repetidos con conjuntos set() # ============================================================================ # # Un conjunto es una colección no ordenada de objetos únicos. # Se crean entre { }, como los diccionarios pero no tienen key... luego vemos eso # El caso es que, como los valores son únicos… no se repiten # Tenemos una lista con los siguientes valores lstLista = [8, 2, 5, 7, 2, 9, 5, 7, 2, 3, 8, 1, 4, 6, 1] lstCopia = lstLista.copy() # Con .copy() podemos hacer una copia de una lista # Vamos a eliminar repetidos # La peladita es convertir la lista a conjunto con set(<lista>) # y luego convertir el conjunto en lista nuevamente... con list(<objeto>) print(set(lstCopia)) # >>> {1, 2, 3, 4, 5, 6, 7, 8, 9} Ordena y elimina repetidos print(lstCopia) # [8, 2, 5, 7, 2, 9, 5, 7, 2, 3, 8, 1, 4, 6, 1] pero no la cambia # Haremos lo siguiente <lista> = list( set ( <lista> ) ) lstCopia = list ( set ( lstCopia )) # lstCopia <--asignamos convierteAlista( convierteAconjunto( lista repetidos)) print(lstCopia) # >>> [1, 2, 3, 4, 5, 6, 7, 8, 9] Uy que fácil!.... # Otra manera de eliminar repetidos se utiliza el bucle for que lo explicaré en el 12 Síguenos en el Grupo de Facebook 11. LISTAS eliminar repetidos con set() en pastebin Peras y Manzanas en Repl.it
  • 13. Python, Te lo explico con Peras y Manzanas # 12. El blucle for # ============================================================================ # # El bucle o ciclo for se usa para recorrer los elementos de un objeto iterable (string, lista, tupla, conjunto, diccionario, rango, etc.) # Sintaxis: # for <objetos> in <iterable>: # <ciclo de sentencias> # break Opcional para romper y salir del ciclo for # continue Opcional para ir a la siguiente iteración # else: # Código que siempre se ejecutará al final si no hubo un break # Ejemplos lstLista = [8, 2, 5, 7, 2, 9, 5, 7, 2, 3, 8, 1, 4, 6, 1] for i in lstLista: print(i, end="..") # >>> 8..2..5..7..2..9..5..7..2..3..8..1..4..6..1.. print() # range(min=0, máx, step=1) Crea una secuencia numérica iterable # Imprimir los números pares de 0 a 12 for i in range(13): if i % 2 == 1: # El operador aritmetico % regresa residuo de la división # Si el residuo es 1 de la div entre 2 .. es impar continue # entonces va a la siguiente iteración print(i, end=", ") # >>> 0, 2, 4, 6, 8, 10, 12, print() # imprimir los pares de lstLista for i in lstLista: if i % 2 == 1: continue print(i, end =", ") # >>> 8, 2, 2, 2, 8, 4, 6, print() # Encontrar el número 3 en lstLista for valor in lstLista: if valor == 3: print("valor encontrado!") break # Rompe el for else: # Si no hubo break, entra al else print("No se encontró el número 3") # >>> valor encontrado! Síguenos en el Grupo de Facebook 12. El bucle for en pastebin Peras y Manzanas en Repl.it
  • 14. Python, Te lo explico con Peras y Manzanas # 13. LISTAS eliminar repetidos usando for # ============================================================================ # # Tenemos una lista con los siguientes valores lstLista = [8, 2, 5, 7, 2, 9, 5, 7, 2, 3, 8, 1, 4, 6, 1] lstCopia = lstLista.copy() # Con .copy() podemos hacer una copia de una lista # Ahora vamos a eliminar valores que se repitan lstNoRepetidos =[ ] # Inicializamos una lista donde pondremos valores únicos for elemento in lstCopia: if elemento not in lstNoRepetidos: # Si no existe en la lista no repetidos # También puede usarse la condición lstNoRepetidos.count(elemento) == 0: lstNoRepetidos.append(elemento) # Agregamos el elemento print(lstCopia) # >>> [8, 2, 5, 7, 2, 9, 5, 7, 2, 3, 8, 1, 4, 6, 1] print(lstNoRepetidos) # >>> [8, 2, 5, 7, 9, 3, 1, 4, 6] print(sorted(lstNoRepetidos)) # >>> [1, 2, 3, 4, 5, 6, 7, 8, 9] Ordenados con sorted() # Ordenar la lista por el método burbuja for i in range(len(lstNoRepetidos)): for j in range(i + 1, len(lstNoRepetidos)): if lstNoRepetidos[i] > lstNoRepetidos[j]: lstNoRepetidos[i], lstNoRepetidos[j] = lstNoRepetidos[j], lstNoRepetidos[i] print(lstNoRepetidos) # >>> [1, 2, 3, 4, 5, 6, 7, 8, 9] Síguenos en el Grupo de Facebook 13. LISTAS eliminar repetidos con for en pastebin Peras y Manzanas en Repl.it
  • 15. Python, Te lo explico con Peras y Manzanas # 14. Volvemos al ejercicio… usando listas y for # ============================================================================ # # Se acuerdan que estábamos haciendo un ejercicio de calificaciones (6.) # Perfecto.. ya vimos listas y el for... vamos a utilizarlas strAlumno = input("Introduzca nombre del alumno: ") # >>> Introduzca nombre del alumno: Luis print("Hola", strAlumno) # >>> Hola Luis print("Por favor, capture sus 4 calificaiones") # >>> Por favor, capture sus 4 calificaiones lstCalificaciones = [ ] # Inicializamos la lista par calificaciones for i in range(4): lstCalificaciones.append(int(input("Calificacion " + str(i + 1) + ": "))) # Pudo ser así: # intCalificacion = int(input("Calificacion " + str(i + 1) + ": ")) # lstCalificaciones.append(intCalificacion) # >>> Calificacion 1: 10 # >>> Calificacion 2: 9 # >>> Calificacion 3: 8 # >>> Calificacion 4: 8 # Hay una función para sumar listas.. sum(<lista>) fltPromedio = sum(lstCalificaciones) / len(lstCalificaciones) print("Promedio", fltPromedio, end =" ") if fltPromedio >= 6: print("APROBADO!!!") else: print("NO APROBADO!!!") # >>> Promedio 8.75 APROBADO!!! Síguenos en el Grupo de Facebook 14. Volvemos al ejercicio…listas y for en pastebin Peras y Manzanas en Repl.it
  • 16. Python, Te lo explico con Peras y Manzanas # 15. El guail… el bucle while pues! # ============================================================================ # # Un bucle while permite repetir la ejecución de un grupo de instrucciones # mientras se cumpla una condición (mientras la condición tenga el valor True). # Sintaxis: # while <condición verdadera>: # <sentencias del ciclo> # break Opcional, para quebrar el ciclo # continue Opcional, para volver al inicio del while # else: Se ejecuta cuando no hace un break # <sentencias del else> # Ejemplos # Imprimir los números del 1 al 10 intContador = 1 # Inicializamos un contador en 1 while intContador < 11: # Mientras el contador sea menor que 11: print(intContador, end=" ") # Imprime el contador, con terminación un espacio intContador += 1 # Incrementamos el contador else: # Si no hubo un break ejecutar el else print("nfin del while") # Imprimir con salto de linea "fin del while" # >>> 1 2 3 4 5 6 7 8 9 10 # >>> fin del while # Hay que tener mucho cuidado de no hacer un ciclo infinito donde nunca salga # Por ejemplo, si no incrementamos el contador dentro del while NUNCA SALDRÍA! # Otro Ejemplo, ahora un ciclo infinito (-pero si dijiste que no lo hiieramos!!!) # Quién me entiende pues?... es que este ciclo infinito tendrá un break while True: # <--- Siempre se cumplirá la condición.. ciclo infinito strNombre = input("Nombre (escriba fin para salir): ") if strNombre == "fin": # Si se captura 'fin' break # quiebra el ciclo while print(f"Hola {strNombre}, es un placer") print("Fin del ciclo.. no es necesario el else: porque nunca se ejecutaría") Síguenos en el Grupo de Facebook 15. El bucle while en pastebin Peras y Manzanas en Repl.it
  • 17. Python, Te lo explico con Peras y Manzanas # 16. Ejercicio Alumno con while # ============================================================================ # # Sobre el ejercicio del episodio XIV .... # Hace mucho tiempo, en una galaxia muy, muy lejana.... estabamos # haciendo un ejercicio de un alumno en el que capturabamos las 4 # calificaciones en una lista, con un for y mostrabamos su promedio # Pues ahora modificaremos para "n" alunmos con while # Dejaremos el código igual.. solo añadiremos el ciclo while y daremos # sangrado al código ya hecho para que sea parte del ciclo while True: # - Neta loco..chingas! con los ciclos infinitos...NO!!! # + Si, como chingados qué no?... saldremos con break # Daremos indentación --> al código que ya teníamos strAlumno = input("Introduzca nombre del alumno (fin para salir): ") # >>> Introduzca nombre del alumno (fin para salir): Luis # Y Añadimos este extra para salir si se escribe "fin" o "FIN" o "FiN " if strAlumno.lower().strip() == "fin": # .lower() a minúsculas y break # quiebra el ciclo # .strip() quita espacios <--> print("Hola", strAlumno) # >>> Hola Luis print("Por favor, capture sus 4 calificaiones") # >>> Por favor, capture sus 4 calificaiones lstCalificaciones = [ ] # Inicializamos la lista par calificaciones for i in range(4): lstCalificaciones.append(int(input("Calificación " + str(i + 1) + ": "))) # >>> Calificacion 1: 10 # >>> Calificacion 2: 9 # >>> Calificacion 3: 8 # >>> Calificacion 4: 8 # Hay una función para sumar listas.. sum(<lista>) fltPromedio = sum(lstCalificaciones) / len(lstCalificaciones) print("Promedio", fltPromedio, end =" ") if fltPromedio >= 6: print("APROBADO!!!") else: print("NO APROBADO!!!") # >>> Promedio 8.75 APROBADO!!! Síguenos en el Grupo de Facebook 16. Ejercicio Alumno con while en pastebin Peras y Manzanas en Repl.it
  • 18. Python, Te lo explico con Peras y Manzanas # 17. Receso # ============================================================================ # # Que solo acepte un valor entero entre 10 y 20 while True: # Ciclo infinito hasta que se capture un valor correcto strNumero = input("Numero entre 10 y 20: ") if strNumero.isdigit(): # Si se capturaron números intNumero = int(strNumero) # Convertimos a número entero if 10 <= intNumero <= 20: # Rango entre 10 y 20 break # rompe el ciclo para continuar con el programa else: print("Escribe un número entre 10 y 20") else: print("Error! solo se aceptan números en captura") print("El número es", intNumero) # >>> Numero entre 10 y 20: 4 # >>> Escribe un número entre 10 y 20 # >>> Numero entre 10 y 20: fasd # >>> Error! solo se aceptan números en captura # >>> Numero entre 10 y 20: 16 # >>> El número es 16 if intNumero == 16: print("correcto!") else: print("incorrecto!") # Se puede hacer en una sola línea if else ... 3 maneras a continuación print("correcto!") if intNumero == 16 else print("incorrecto!") print("correcto!" if intNumero == 16 else "incorrecto!") print(("in" if intNumero !=16 else "") + "correcto!" ) Síguenos en el Grupo de Facebook 17. Receso en pastebin Peras y Manzanas en Repl.it
  • 19. Python, Te lo explico con Peras y Manzanas # 18. Diccionarios… # ============================================================================ # # Es hora de hablar de diccionarios.. qué son? # Un diccionario es una colección no ordenada de objetos que tienen # una llave (key) para identificar un valor separados por dos puntos # y cada elemento key:value separados por coma...todo encerrado { } # Ejemplo: dicColores = {"verde":"green", "blanco":"white", "rojo":"red"} # Podemos obtener el valor con <diccionario>.get(<key>) print(dicColores.get("verde")) # >>> green # O de la forma <diccionario>[key] print(dicColores["rojo"]) # >>> red # Agregar o modificar un valor <diccionario>[key] = <valor> dicColores["negro"] = "Nigga" # Ups... print(dicColores) # >>> {'verde': 'green', 'blanco': 'white', 'rojo': 'red', 'negro': 'Nigga'} dicColores["negro"] = "black" #same shit dicColores.update({"negro":"black"}) print(dicColores) # >>> {'verde': 'green', 'blanco': 'white', 'rojo': 'red', 'negro': 'black'} # Podemos Devolver un valor y eliminarlo con <diccionario>.pop(<key> print(dicColores.pop("negro")) # >>> black print(dicColores) # >>> {'verde': 'green', 'blanco': 'white', 'rojo': 'red' } print("blanco" in dicColores.keys()) # >>> True print("green" in dicColores.values()) # >>> True # Los keys pueden ser cualquier tipo de datos pero se usan string o int # Los valores pueden ser cualquier objeto...listas, diccionarios, etc dic = { 1:"Usuario 1", "lenguajes": ["python", "c++", "JS"], "pares":[2, 4, 6]} Síguenos en el Grupo de Facebook 18. Diccionarios…. En pastebin Peras y Manzanas en Repl.it
  • 20. Por el momento es todo… pero aún falta el ejercicio con diccionarios, funciones, clases…. Si les ha gustado este documento favor de dejar comentarios en la publicación Peras y Manzanas del Grupo de Facebook Se agradecerá cualquier sugerencia… Se ocupa mejorar este documento... es su versión 1.0 Luis Urbalejo, 15 de Junio del 2020