Restructure content and add notes from HolaMundo

Signed-off-by: Manuel Vergara <manuel@vergaracarmona.es>
This commit is contained in:
manuelver committed 2023-05-20 09:36:26 +02:00
1 parent 64ed03f811
commit f4e9797c4b
430 files changed
+889 -24

No files matched your search

+39
View File
@@ -0,0 +1,39 @@
"""
Calculadora
"""
# Se piden los valores
n1 = input("Ingresa el primer número: ")
n2 = input("Ingresa el segundo número: ")
# Se transforman los valores en integer
n1 = int(n1)
n2 = int(n2)
# Variables de las posibles operaciones
suma = n1 + n2
resta = n1 - n2
multi = n1 * n2
div = n1 / n2
# Se pregunta la operación a realizar
op = input("""
¿Qué operación quieres hacer?
s --> Sumar
r --> Restar
m --> Multiplicar
d --> Dividir
> """)
opciones = ("s", "r", "m", "d")
if op == "s":
print(f"El resultado de la suma de {n1} y {n2} es {suma}")
elif op == "r":
print(f"El resultado de la resta de {n1} y {n2} es {resta}")
elif op == "m":
print(f"El resultado de la multiplicación entre {n1} por {n2} es {multi}")
elif op == "d":
print(f"El resultado de la división entre {n1} por {n2} es {div}")
else:
print("Operación no encontrada. Vuelve a intentarlo")
+12
View File
@@ -0,0 +1,12 @@
"""
Condicionales con if
"""
edad = input("Introduce tu edad: ")
edad = int(edad)
if edad > 17:
print("Puedes ver la pelicula. Adelante!")
if edad >= 55:
print("Ademas, no olvides pedir el descuento para seniors")
else:
print("Lo siento, eres menor de edad")
+15
View File
@@ -0,0 +1,15 @@
"""
Condicionales con if
"""
edad = input("Introduce tu edad: ")
edad = int(edad)
if edad > 65:
print("Tienes un super descuento para super seniors")
elif edad > 55:
print("Tienes un descuento para seniors")
elif edad > 17:
print("Puedes entrar")
else:
print("Lo siento, eres menor de edad. Debes irte")
+9
View File
@@ -0,0 +1,9 @@
"""
Operador ternario
"""
edad = 15
mensaje = "Es mayor" if edad > 17 else "Es menor"
print(mensaje)
@@ -0,0 +1,18 @@
"""
Operaciones de corto circuito
"""
gas = False
encendido = True
edad = 18
# La lectura de las evaluaciones se efectúa de izquierda a derecha
# Con lo cual, cuando tenemos varios "and",
# en el momento que python encuentre un False
# python dejará de leer.
if not gas and encendido and edad >17:
print("Puedes avanzar")
# En cambio con or, python deja de leer cuando encuentra un True
if not gas or encendido or edad >17:
print("Puedes avanzar")
+14
View File
@@ -0,0 +1,14 @@
"""
Cadena de comparadores
"""
edad = 25
if edad >= 15 and edad <= 65:
print("Puede entrar a la piscina")
# El anterior condicional se puede resumir
# encadenando comparadores de comparación
if 15 <= edad <= 65:
print("Puede entrar a la piscina")
+5
View File
@@ -0,0 +1,5 @@
for i in range(3):
for j in range(2):
print(f"{i}, {j}")
+97
View File
@@ -0,0 +1,97 @@
"""
Calculadora
Seudocódigo:
Aplicación interactiva, tenemos que escribir constantemente en la terminal.
Verificar si se ha ingresado un número
Si no hay número pedir el número y después pedir operación +-*/
Si ya hay un número pedir operación +-*/
Pedir otro número
Mostrar resultado y guardar como el primer número
"""
import time
# Bienvenida
print("\n############################")
print("Bienvenidos a la calculadora")
print("############################")
print("\nPara salir tan solo tienes que escribir (salir)")
# Pedir el primer número y opciones de operación
n1 = input("\nIngresa el primer número: ")
print(f"Vamos a operar con el {n1}")
print("\nLas operaciones que puedes realizar son:")
print("- Sumar --> (s)")
print("- Restar --> (r)")
print("- Multiplicar --> (m)")
print("- Dividir --> (d)\n")
# Inicio de bucle. Si no se pone "salir" seguirá dentro
comando = ""
while comando.lower() != "salir":
comando = input("$ ")
if comando != "salir":
op = comando
if op not in ("s", "r", "m", "d"):
print("\nDime un operador correcto")
continue
print(f"\nVamos a realizar la operación con el número {n1}")
n2 = input("Dime el segundo número: ")
# Conversor de str a int de los números
n2 = int(n2)
n1 = int(n1)
# Posibles operaciones
suma = n1 + n2
resta = n1 - n2
multi = n1 * n2
div = n1 / n2
# Condicional de las respuestas a las operaciones
if op == "s":
print(f"__________________________________________________")
print(f"\nEl resultado de la suma de {n1} y {n2} es {suma}")
print(f"__________________________________________________")
time.sleep(1.5)
print("\n Dime otro operador")
n1 = suma
elif op == "r":
print(f"__________________________________________________")
print(f"\nEl resultado de la resta de {n1} y {n2} es {resta}")
print(f"__________________________________________________")
time.sleep(1.5)
print("\n Dime otro operador")
n1 = resta
elif op == "m":
print(f"__________________________________________________")
print(f"\nEl resultado de la multiplicación entre {n1} por {n2} es {multi}")
print(f"__________________________________________________")
time.sleep(1.5)
print("\n Dime otro operador")
n1 = multi
elif op == "d":
print(f"__________________________________________________")
print(f"\nEl resultado de la división entre {n1} por {n2} es {div}")
print(f"__________________________________________________")
time.sleep(1.5)
print("\n Dime otro operador")
n1 = div
# Despedida de la opción "salir"
elif comando == "salir":
print("\nHasta pronto! ^_^")
break
# Error, si se pone un comando diferente a todo lo anterior
else:
print(f"\nQue me estás container?")
print("Estas son las opciones:")
print("- Sumar --> (s)")
print("- Restar --> (r)")
print("- Multiplicar --> (m)")
print("- Dividir --> (d)")
print("- Salir --> (salir)\n")
continue
+48
View File
@@ -0,0 +1,48 @@
"""
Calculadora
Solución al ejercicio
Seudocódigo:
Aplicación interactiva, tenemos que escribir constantemente en la terminal.
Verificar si se ha ingresado un número
Si no hay número pedir el número y después pedir operación +-*/
Si ya hay un número pedir operación +-*/
Pedir otro número
Mostrar resultado y guardar como el primer número
"""
# Bienvenida
print("\n############################")
print("Bienvenidos a la calculadora Hola Mundo")
print("############################")
print("\nPara salir tan solo tienes que escribir (salir)")
print("\nLas operaciones que puedes realizar son s, r, m y d")
resultado = ""
while True:
if not resultado:
resultado = input("Ingrese número: ")
if resultado.lower() == "salir":
break
resultado = int(resultado)
op = input("Ingresa operación: ")
if op.lower() == "salir":
break
n2 = input("Ingresa el siguiente número: ")
if n2.lower() == "salir":
break
n2 = int(n2)
if op.lower() == "s":
resultado += n2
elif op.lower() == "r":
resultado -= n2
elif op.lower() == "m":
resultado *= n2
elif op.lower() == "d":
resultado /= n2
else:
print("Operación no válida")
break
print(f"El resultado es {resultado}")
+29
View File
@@ -0,0 +1,29 @@
# Parámetros por defecto
def hola(nombre="Mun", apellido=""):
print("Hola mundo")
print(f"Bienvenido {nombre} {apellido}!")
# Argumento indicando el parámetro concreto
hola(apellido="García")
print("")
hola("Mariano", "Bermudez")
hola()
# Parámetro comodín (iterable)
# para añadir un número indeterminado de argumentos.
# xargs
def suma(*numeros):
resultado = 0
for numero in numeros:
resultado += numero
return resultado
print(suma(3, 6, 2, 4, 65, 23, 4, 100))
+3
View File
@@ -0,0 +1,3 @@
"""
Argumentos indefinidos (*args)
"""
+49
View File
@@ -0,0 +1,49 @@
"""
Comprobar palindromo
"""
def es_palindromo(texto):
"""
Función para comprobar si es un palindromo
Al texto se le elimina los espacios y acentos
"""
# Sustituyo vocales con acento y pongo texto en minúsculas
texto = texto.replace('á', 'a').replace('é', 'e').replace(
'í', 'i').replace('ó', 'o').replace('ú', 'u').lower()
# Declaro variables
al_derecho = ''
al_reves = ''
# Ordeno el texto al derecho y al revés sin espacios
for i in texto:
if i != ' ':
al_reves = i + al_reves
al_derecho += i
# Comparo el texto al derecho y al revés
return al_derecho == al_reves
# Explicacion
print("Este programa comprueba si el texto que introduzcas es un palindromo")
print("Para salir debes introducir \"salir\"\n")
# Bucle con la pregunta de la palabra, con la condicional true/false
# de respuesta y con otra pregunta por si quiere preguntar más.
txt = ''
while txt.lower() != 'salir':
txt = input('Dame un texto para comprobar si es palindromo: ')
print()
if txt == 'salir':
break
elif es_palindromo(txt):
print(f'El texto \"{txt}\" es palindromo')
else:
print(f'El texto \"{txt}\" no es palindromo')
print()
print('¡Ciao!')
+172
View File
@@ -0,0 +1,172 @@
"""
Tipos de listas
"""
numeros = [1, 2, 3]
letras = ['a', 'b', 'c']
palabras = ['chanchito', 'feliz']
palabras = ['chanchito', 'feliz', 'Felipe', 'alumno']
booleans = [True, False, True, True]
matriz = [[0, 1], [1, 0]]
# tener una lista multiplicada
ceros = [0] * 10
ceros_unos = [0, 1] * 10
# Unir dos listas
alfanumerico = numeros + letras
# Crear un rango de numeros en una lista
rango = list(range(1, 11))
# Crear una lista de un string
chars = list("hola mundo")
"""
Manipulando listas
"""
mascotas = ["Wolfgang", "Pelusa", "Pulga", "Copito"]
# Accediendo a un elemento
print(mascotas[0])
# Cambiar un elemento
mascotas[0] = "Bicho"
print(mascotas)
# Pedir un fragmento de la lista
print(mascotas[2:])
print(mascotas[-1])
"""
Desempaquetar listas
"""
primero, segundo, tercero = numeros
mas_numeros = list(range(1, 11))
primero, *otros = mas_numeros
primero, segundo, *otros, penultimo, ultimo = mas_numeros
print(primero, segundo, otros, penultimo, ultimo)
"""
Acceder al indice de una lista
"""
for mascota in enumerate(mascotas):
print(mascota)
# Con la función enumarate nos devuelve tuplas
# Con lo cual, con 0 nos devuelve el indice
print(mascota[0])
# Y con 1 nos devuelve la mascota
print(mascota[1])
# Entonces, guardamos en el for el indice ya lo tendremos en una variable
for indice, mascota in enumerate(mascotas):
print(indice, mascota)
"""
Buscar elementos
"""
mascotas.index("Pelusa")
# Pero indice da error si no encuentra el elemento
# mascotas.index("Wolfgang")
# Podemos ingresa un nuevo elemento en la lista indican su indice
mascotas.insert(3, "Pelusa")
# Para agregar al final de la lista
mascotas.append("Mun")
print(mascotas)
# Podemos contar las veces que hay un elemento en una lista con count
print(mascotas.count('Pelusa'))
# Para eliminar. Pero solo elimina la primera vez
mascotas.remove('Pelusa')
print(mascotas)
# Para eliminar el último elemento
mascotas.pop()
print(mascotas)
# Y por su indice
mascotas.pop(1)
print(mascotas)
# También se puede eliminar con del
del mascotas[0]
print(mascotas)
# Para eliminar por completo
mascotas.clear()
print(mascotas)
"""
Ordenando listas
"""
desorden = [2, 1, 44, 23, 66, 34, 78, 5]
# Orden derecho
desorden.sort()
print(desorden)
# Orden inverso
desorden.sort(reverse=True)
print(desorden)
# Con sort() se ordena la lista pero
# Con sorted() nos devolverá una nueva lista
# Entonces, hay que asignarlo a otra lista
nueva_lista = sorted(desorden)
print(nueva_lista)
# La primera lista no se verá afectada
print(desorden)
# A sorted() también se puede hacer el inverso
nueva_lista = sorted(desorden, reverse=True)
# Ordenamos listas dentro de una lista
usuarios = [[4, 'Chanchito'], [5, 'Pulga'], [1, 'Felipe']]
usuarios.sort()
print(usuarios)
# Con en integer segundo ordenad por el primer elemento
usuarios2 = [['Chanchito', 4], ['Pulga', 5], ['Felipe', 1]]
usuarios2.sort()
print(usuarios2)
# Pero podemos indicar que ordene por el segundo elemento "[1]"
# con una función
usuarios3 = [['Chanchito', 4], ['Pulga', 5], ['Felipe', 1]]
def ordena(elemento):
return elemento[1]
# Con key indicamos que sort() pase los argumentos a la función usuarios3
# y devolverá la lista pero solo del elemento indicado dentro de la función
# Aquí podríamos pasar un segundo argumento como reverse=True
usuarios3.sort(key=ordena)
print(usuarios3)
# Esto se puede hacer más elegante
# con funciones lambda (Funciones canónicas)
# Sintaxis: (key=lambda parámetro:valorRetorno)
# La lambda sustituye a la anterior función ^_^
usuarios3.sort(key=lambda elemento: elemento[1])
@@ -0,0 +1,43 @@
"""
Compresión listas
Sintaxis:
[expresión for item in items]
"""
# extraer solo un elemento. map
usuarios = [['Chanchito', 4], ['Pulga', 5], ['Felipe', 1]]
nombres_usuarios = [n[0] for n in usuarios]
print(nombres_usuarios)
# Filtrando. filter
nombres_usuarios2 = [n for n in usuarios if n[1] > 2]
print(nombres_usuarios2)
# Ambas operaciones anteriores
nombres_usuarios3 = [n[0] for n in usuarios if n[1] > 2]
print(nombres_usuarios3)
"""
Funciones
map y filter
Ya no se usa, pero hay que tenerlo en cuenta por si se encuentra
Es programación funcional
"""
# map
nombres_usuarios4 = list(map(lambda usuario: usuario[0], usuarios))
print(nombres_usuarios4)
# filter
nombres_usuarios5 = list(filter(lambda usuario: usuario[1] > 2, usuarios))
print(nombres_usuarios5)
+62
View File
@@ -0,0 +1,62 @@
"""
Tuplas
Es exactamente lo mismo que una lista
pero no permite modificación alguna
"""
numeros = (1, 2, 3)
# Se puede concatenar tuplas pero creando una nueva
mas_numeros = numeros + (4, 5, 6, 7)
print(mas_numeros)
# Se puede transformar una lista en una tupla
punto = tuple([1, 2])
"""
Sets
Es una colección o un conjunto.
No se puede repetir ni está ordenada
No tienen indice
"""
primer_set = {1, 1, 1, 2, 3, 3, 4, 4, 4, 5}
print(primer_set)
primer_set.add(6)
primer_set.remove(1)
print(primer_set)
# transformar lista en set
segundo = [4, 5, 6, 7, 8, 9]
segundo = set(segundo)
print(segundo, type(segundo))
# Operadores
# # Operador unión |
# # devolver todo junto eliminando repetidos
print(primer_set | segundo)
# # Operador intersección
# # devolverá los elementos
# # que se encuentren en los dos sets &
print(primer_set & segundo)
# # Operador diferencia
# # Mostrar los elementos de la izquierda
# # quitando los elementos de la derecha
# # Como una resta
print(primer_set - segundo)
# # Operador Diferencia simétrica
# # Es lo contrario de la intersección.
# # Devolverá los elementos
# # que no se encuentren en los dos sets
print(primer_set ^ segundo)
+50
View File
@@ -0,0 +1,50 @@
"""
Diccionarios
clave = valor
La clave solo puede ser string.
El valor puede ser cualquier cosa
La clave no se puede modificar.
El valor sí.
"""
punto = {'x': 25, 'y': 50}
print(punto)
# No se puede acceder mediante indice.
# El indice es el strinf de la clave
print(punto['x'])
# Y cuidao, si la llave no existe da error
# Para que no de error es mejor usar un if
if "lala" in punto:
print(punto["lala"])
# Añadir otra clave y su valor
punto["z"] = 45
print(punto)
# Otro método para obtener valores es get
print(punto.get("y"))
# Con este método no da error si no existe.
# devolverá None
print(punto.get("lala"))
# Y podemos indicar un valor por defecto
# para el caso que no exista
print(punto.get("lala", 97))
# Para eliminar
del punto["x"]
# Función del
del (punto["y"])
print(punto)
+24
View File
@@ -0,0 +1,24 @@
# Apuntes de python de holamundo
Estos apuntes y ejercicios en python han sido realizados viendo un vídeo de Holamundo:
- [Aprende python ahora! Curso completo e intensivo desde cero](https://www.youtube.com/watch?v=tQZy0U8s9LY&ab_channel=HolaMundo)
¡Te recomiendo que lo veas y hagas tus propios apuntes! Este repositorio es para mi uso personal, pero si te sirve de ayuda, ¡me alegro!
## Scripts del curso
- [01_calculadora.py](01_calculadora.py)
- [02_if01.py](02_if.py)
- [02_if02.py](02_if02.py)
- [03_if_ternario.py](03_if_ternario.py)
- [04_operaciones_corto_circuito.py](04_operaciones_corto_circuito.py)
- [05_cadena_comparadores.py](05_cadena_comparadores.py)
- [06_loop_anidado.py](06_loop_anidado.py)
- [07_calculadoraHolaMundo.py](07_calculadoraHolaMundo.py)
- [07_calculadora.py](07_calculadora.py)
- [08_funciones.py](08_funciones.py)
- [09_args_indefinidos.py](09_args_indefinidos.py)
- [10_palindromo.py](10_palindromo.py)
- [11_listas.py](11_listas.py)
- [12_listas_compresion_map_filter.py](12_listas_compresion_map_filter.py)
- [13_tuplas_sets.py](13_tuplas_sets.py)
- [14_diccionarios.py](14_diccionarios.py)
+60 -24
View File
@@ -1,8 +1,13 @@
# Curso de python 🚀
# Cursos de python 🚀
Este repositorio contiene los apuntes tomados en diversos cursos de python, en especial en el curso «[Python total](https://www.udemy.com/course/python-total)» impartido por «Escuela Directa» que consta de 30 horas aproximadamente de vídeo-tutoriales. Las prácticas y ejercicios aquí contenidos tuvieron una duración de más de 200 horas, de mucho café e insomnio.
Este repositorio contiene los apuntes tomados en diversos cursos de python reflejados en la siguiente tabla:
Los apuntes no fueron pensados para compartirlos, por ello pueden tener lagunas de información o contenido adicional respecto al curso, ya que se redactaron para recordar procedimientos y conceptos que el autor creyó relevantes. Teniendo un documento, a mi parecer, tan completo y entendiendo que el conocimiento debe ser libre se decidió compartirlo. Cualquier error puedes abrir un issue o contactar conmigo.
| Curso | Índice repo | Duración personal | Duración de vídeos | Fuente original |
| -----------: | :-------------------------------------------------------- | :---------------: | :----------------: | :------------------------------------------------------------------------------------------------------------------------------ |
| Python total | [contenidos](#índice-de-los-contenidos-de-python-total-📎) | 200 horas | 30 horas | [Escuela Directa](https://www.udemy.com/course/python-total) |
| HolaMundo | [contenidos](#índice-de-los-contenidos-de-holamundo-📎) | 5 horas | 15 horas | [Aprende python ahora! Curso completo e intensivo desde cero](https://www.youtube.com/watch?v=tQZy0U8s9LY&ab_channel=HolaMundo) |
Las prácticas y ejercicios aquí contenidos son los que hice mediante los cursos mencionados y por investigación propia, con mucho café e insomnio. Realmente, los apuntes no fueron pensados para compartirlos, por ello pueden tener lagunas de información o contenido adicional respecto al curso, ya que se redactaron para recordar procedimientos y conceptos que EMHO me parecieron relevantes. Teniendo un documento, a mi parecer, tan completo y entendiendo que el conocimiento debe ser libre se decidió compartirlos. Por eso, **cualquier error puedes abrir un issue o contactar conmigo**.
Si te parece útil este documento puedes agradecerlo a través de las vías de contacto de la web https://vergaracarmona.es o [invítandome a un café](#invítame-a-un-café-☕️) ☕️
@@ -14,7 +19,7 @@ Recuerda,
---
<br>
# Qué es python según chatGPT
# Qué es python según chatGPT 🤖
Python es un lenguaje de programación interpretado y de alto nivel. Fue creado por Guido van Rossum y lanzado por primera vez en 1991. Python se destaca por su sintaxis clara y legible, lo que lo hace muy accesible tanto para principiantes como para programadores experimentados.
@@ -28,7 +33,7 @@ Además, Python es conocido por ser un lenguaje fácil de aprender y utilizar. S
En resumen, Python es un lenguaje de programación de alto nivel, interpretado y fácil de aprender que se utiliza ampliamente en una variedad de aplicaciones, desde desarrollo web hasta análisis de datos e inteligencia artificial. Su enfoque en la legibilidad del código y su comunidad activa lo convierten en una elección popular entre los programadores.
## Tabla de comparación con otros lenguajes
## Tabla de comparación con otros lenguajes de programación 📊
| Característica | Python | Java | C++ | JavaScript |
| --------------------- | ------------------------------------------------ | ---------------------------------------- | --------------------------------------- | ----------------------------------------- |
@@ -47,14 +52,14 @@ Esta tabla solo proporciona una comparación general entre los lenguajes y que c
---
<br>
# **Índice de los contenidos de cada día** 📎
# **Índice de los contenidos de python-total** 📎
- [Día 1 - Programa un creador de nombres](dia_01/README.md)
- [Día 1 - Programa un creador de nombres](python-total/dia_01/README.md)
- 1.1. - print
- 1.2. - strings
- 1.3. - input
- 1.4. - Proyecto del Día 1
- [Día 2 - Programa un calculador de comisiones](dia_02/README.md)
- [Día 2 - Programa un calculador de comisiones](python-total/dia_02/README.md)
- 2.1. - Tipos de datos
- 2.2. - Variables
- 2.3. - Nombres de variables
@@ -64,7 +69,7 @@ Esta tabla solo proporciona una comparación general entre los lenguajes y que c
- 2.7. - Operadores matemáticos
- 2.8. - Redondeo
- 2.9. - Proyecto del Día 2
- [Día 3 - Programa un analizador de texto](dia_03/README.md)
- [Día 3 - Programa un analizador de texto](python-total/dia_03/README.md)
- 3.1. - Index( )
- 3.2. - Substrings
- 3.3. - Métodos para Strings
@@ -75,7 +80,7 @@ Esta tabla solo proporciona una comparación general entre los lenguajes y que c
- 3.8. - sets
- 3.9. - booleanos
- 3.10. - Proyecto del Día 3
- [Día 4 - Programa el juego "adivina el número"](dia_04/README.md)
- [Día 4 - Programa el juego "adivina el número"](python-total/dia_04/README.md)
- 4.1. - Operadores de comparación
- 4.2. - Operadores lógicos
- 4.3. - Control de flujo
@@ -88,7 +93,7 @@ Esta tabla solo proporciona una comparación general entre los lenguajes y que c
- 4.10. - Comprensión de listas
- 4.11. - match
- 4.12. - Proyecto del Día 4
- [Día 5 - Programa el juego "El ahorcado"](dia_05/README.md)
- [Día 5 - Programa el juego "El ahorcado"](python-total/dia_05/README.md)
- 5.1. - Documentación
- 5.2. - Funciones
- 5.3. - return
@@ -98,7 +103,7 @@ Esta tabla solo proporciona una comparación general entre los lenguajes y que c
- 5.7. - **kwargs
- 5.8. - Ejercicios
- 5.9. - Proyecto del Día 5
- [Día 6 - Programa un recetario](dia_06/README.md)
- [Día 6 - Programa un recetario](python-total/dia_06/README.md)
- 6.1. - Abrir y leer archivos
- 6.2. - Crear y escribir archivos
- 6.3. - Directorios
@@ -107,7 +112,7 @@ Esta tabla solo proporciona una comparación general entre los lenguajes y que c
- 6.6. - Limpiar la consola
- 6.7. - Archivos + funciones
- 6.8. - Proyecto del Día 6
- [Día 7 - Programa una cuenta bancaria](dia_07/README.md)
- [Día 7 - Programa una cuenta bancaria](python-total/dia_07/README.md)
- 7.1. - Clases
- 7.2. - Atributos
- 7.3. - Métodos
@@ -118,7 +123,7 @@ Esta tabla solo proporciona una comparación general entre los lenguajes y que c
- 7.8. - Pilares de la Programación Orientada a Objetos
- 7.9. - Métodos especiales
- 7.10. - Proyecto del Día 7
- [Día 8 - Programa una consola de turnos](dia_08/README.md)
- [Día 8 - Programa una consola de turnos](python-total/dia_08/README.md)
- 8.1. - Instalar paquetes
- 8.2. - Módulos y paquetes
- 8.3. - Manejo de errores
@@ -127,7 +132,7 @@ Esta tabla solo proporciona una comparación general entre los lenguajes y que c
- 8.6. - Decoradores
- 8.7. - Generadores
- 8.8. - Proyecto del Día 8
- [Día 9 - Programa un buscador de números de serie](dia_09/README.md)
- [Día 9 - Programa un buscador de números de serie](python-total/dia_09/README.md)
- 9.1. - Módulo collections
- 9.2. - Módulos shutil & os
- 9.3. - Módulo datetime
@@ -136,23 +141,23 @@ Esta tabla solo proporciona una comparación general entre los lenguajes y que c
- 9.6. - Expresiones regulares
- 9.7. - Comprimir y descomprimir archivos
- 9.8. - Proyecto del Día 9
- [Día 10 - Programa el juego "Invasión espacial"](dia_10/README.md)
- [Día 10 - Programa el juego "Invasión espacial"](python-total/dia_10/README.md)
- 10.1. - Distancia entre dos puntos
- 10.2. - Convertir el Juego en un Archivo Ejecutable (.exe)
- [Día 11 - Programa un web scraping](dia_11/README.md)
- [Día 11 - Programa un web scraping](python-total/dia_11/README.md)
- 11.1. - Extraer elementos de una clase
- [Día 12 - Programa un gestor de restaurantes](dia_12/README.md)
- [Día 13 - Programa un asistente de voz](dia_13/README.md)
- [Día 12 - Programa un gestor de restaurantes](python-total/dia_12/README.md)
- [Día 13 - Programa un asistente de voz](python-total/dia_13/README.md)
- 13.1. - Librerias y módulos
- 13.2. - Algunos problemas con las bibliotecas
- 13.3. - Enlaces
- [Día 14 - Programa un controlador de asistencia](dia_14/README.md)
- [Día 14 - Programa un controlador de asistencia](python-total/dia_14/README.md)
- 14.1. - Bibliotecas
- [Día 15 - Programa un modelo de machine learning](dia_15/README.md)
- [Día 15 - Programa un modelo de machine learning](python-total/dia_15/README.md)
- 5.1. - Bibliotecas
- 5.2. - Definiciones
- 5.3. - Cuadernos de trabajo en Colab de google drive
- [Día 16 - Programa una aplicación web de tareas pendientes](dia_16/README.md)
- [Día 16 - Programa una aplicación web de tareas pendientes](python-total/dia_16/README.md)
- 16.1. - Entornos Virtuales
- 16.2. - Módulos
- 16.3. - Preparación de estructura de trabajo
@@ -177,13 +182,37 @@ Esta tabla solo proporciona una comparación general entre los lenguajes y que c
- 16.22. - estilo de la lista
- 16.23. - Estilo de la barra de cerca
- 16.24. - Terminar el sitio
- [Día 17 - Extra bibliotecas para hacking ético](dia_17/README.md)
- [Día 17 - Extra bibliotecas para hacking ético](python-total/dia_17/README.md)
- 17.1. - Bibliotecas
---
<br>
## Licencia
# **Índice de los contenidos de HolaMundo** 📎
- [Descripción de los contenidos](HolaMundo/README.md)
- 01_calculadora.py
- 02_if02.py
- 02_if.py
- 03_if_ternario.py
- 04_operaciones_corto_circuito.py
- 05_cadena_comparadores.py
- 06_loop_anidado.py
- 07_calculadoraHolaMundo.py
- 07_calculadora.py
- 08_funciones.py
- 09_args_indefinidos.py
- 10_palindromo.py
- 11_listas.py
- 12_listas_compresion_map_filter.py
- 13_tuplas_sets.py
- 14_diccionarios.py
---
<br>
## Licencia 📄
- [Licencia Creative Commons Atribución-CompartirIgual 4.0 Internacional](LICENSE)
@@ -193,6 +222,13 @@ Esta tabla solo proporciona una comparación general entre los lenguajes y que c
# Agradecimientos 🎁
Por supuesto, quiero agradecer a [Federico Garay](https://ar.linkedin.com/in/fedegaray) y a [Nicolás Schürmann](https://www.linkedin.com/in/nicolasschurmann/) (¡Cuidao con el [teclado](https://youtu.be/y0T8UqBkawQ) que se gasta!) por los cursos en concreto que he realizado con ellos y por todo el contenido libre que en sus webs y canales de RRSS.
También a todos los compas que me han apoyado en este camino.
[![Solo no puedes, con amigos sí. 🤝](https://youtu.be/Ds7tje_Y0CM)](hhttps://youtu.be/Ds7tje_Y0CM)
<br>
# Invítame a un café ☕️
+140
View File
@@ -0,0 +1,140 @@
# Apuntes de python de python-total
Estos apuntes y ejercicios en python han sido realizados en el trascurso del curso de python-total de Federico Garay:
- [Python-total](https://www.udemy.com/course/python-total)
¡Te recomiendo que hagas el curso y redactes tus propios apuntes! Este repositorio es para mi uso personal, pero si te sirve de ayuda, ¡pues me alegro!
# Índice del curso y sus contenidos
- [Día 1 - Programa un creador de nombres](dia_01/README.md)
- 1.1. - print
- 1.2. - strings
- 1.3. - input
- 1.4. - Proyecto del Día 1
- [Día 2 - Programa un calculador de comisiones](dia_02/README.md)
- 2.1. - Tipos de datos
- 2.2. - Variables
- 2.3. - Nombres de variables
- 2.4. - integers & floats
- 2.5. - Conversiones
- 2.6. - Formatear cadenas
- 2.7. - Operadores matemáticos
- 2.8. - Redondeo
- 2.9. - Proyecto del Día 2
- [Día 3 - Programa un analizador de texto](dia_03/README.md)
- 3.1. - Index( )
- 3.2. - Substrings
- 3.3. - Métodos para Strings
- 3.4. - Strings: propiedades
- 3.5. - Listas
- 3.6. - Diccionarios
- 3.7. - Tuples
- 3.8. - sets
- 3.9. - booleanos
- 3.10. - Proyecto del Día 3
- [Día 4 - Programa el juego "adivina el número"](dia_04/README.md)
- 4.1. - Operadores de comparación
- 4.2. - Operadores lógicos
- 4.3. - Control de flujo
- 4.4. - loops while
- 4.5. - range( )
- 4.6. - enumerate( )
- 4.7. - zip( )
- 4.8. - min( ) & max( )
- 4.9. - random
- 4.10. - Comprensión de listas
- 4.11. - match
- 4.12. - Proyecto del Día 4
- [Día 5 - Programa el juego "El ahorcado"](dia_05/README.md)
- 5.1. - Documentación
- 5.2. - Funciones
- 5.3. - return
- 5.4. - Funciones dinámicas
- 5.5. - Interacción entre funciones
- 5.6. - *args
- 5.7. - **kwargs
- 5.8. - Ejercicios
- 5.9. - Proyecto del Día 5
- [Día 6 - Programa un recetario](dia_06/README.md)
- 6.1. - Abrir y leer archivos
- 6.2. - Crear y escribir archivos
- 6.3. - Directorios
- 6.4. - pathlib
- 6.5. - Path
- 6.6. - Limpiar la consola
- 6.7. - Archivos + funciones
- 6.8. - Proyecto del Día 6
- [Día 7 - Programa una cuenta bancaria](dia_07/README.md)
- 7.1. - Clases
- 7.2. - Atributos
- 7.3. - Métodos
- 7.4. - Tipos de métodos
- 7.5. - Herencia
- 7.6. - Herencia extendida
- 7.7. - Polimorfismo
- 7.8. - Pilares de la Programación Orientada a Objetos
- 7.9. - Métodos especiales
- 7.10. - Proyecto del Día 7
- [Día 8 - Programa una consola de turnos](dia_08/README.md)
- 8.1. - Instalar paquetes
- 8.2. - Módulos y paquetes
- 8.3. - Manejo de errores
- 8.4. - pylint
- 8.5. - unittest
- 8.6. - Decoradores
- 8.7. - Generadores
- 8.8. - Proyecto del Día 8
- [Día 9 - Programa un buscador de números de serie](dia_09/README.md)
- 9.1. - Módulo collections
- 9.2. - Módulos shutil & os
- 9.3. - Módulo datetime
- 9.4. - Módulo para medir el tiempo
- 9.5. - Módulo math
- 9.6. - Expresiones regulares
- 9.7. - Comprimir y descomprimir archivos
- 9.8. - Proyecto del Día 9
- [Día 10 - Programa el juego "Invasión espacial"](dia_10/README.md)
- 10.1. - Distancia entre dos puntos
- 10.2. - Convertir el Juego en un Archivo Ejecutable (.exe)
- [Día 11 - Programa un web scraping](dia_11/README.md)
- 11.1. - Extraer elementos de una clase
- [Día 12 - Programa un gestor de restaurantes](dia_12/README.md)
- [Día 13 - Programa un asistente de voz](dia_13/README.md)
- 13.1. - Librerias y módulos
- 13.2. - Algunos problemas con las bibliotecas
- 13.3. - Enlaces
- [Día 14 - Programa un controlador de asistencia](dia_14/README.md)
- 14.1. - Bibliotecas
- [Día 15 - Programa un modelo de machine learning](dia_15/README.md)
- 5.1. - Bibliotecas
- 5.2. - Definiciones
- 5.3. - Cuadernos de trabajo en Colab de google drive
- [Día 16 - Programa una aplicación web de tareas pendientes](dia_16/README.md)
- 16.1. - Entornos Virtuales
- 16.2. - Módulos
- 16.3. - Preparación de estructura de trabajo
- 16.4. - Configurar url
- 16.5. - Crear tabla de tareas
- 16.6. - Configurar la vista
- 16.7. - Configurar la vista de Detalle
- 16.8. - Crear Links a Detalle
- 16.9. - Agregar nueva tarea
- 16.10. - Formulario para nueva tarea
- 16.11. - Editar tarea
- 16.12. - Eliminar tarea
- 16.13. - Crear la lógica de Logueo / Deslogueo
- 16.14. - Formulario de Logueo / Deslogueo
- 16.15. - Restringir acceso
- 16.16. - Información específica de usuario
- 16.17. - Registrar nuevo usuario
- 16.18. - Barra de búsquedas
- 16.19. - Un estilo para todas las vistas
- 16.20. - Estilo general
- 16.21. - Estilo de barra superiores
- 16.22. - estilo de la lista
- 16.23. - Estilo de la barra de cerca
- 16.24. - Terminar el sitio
- [Día 17 - Extra bibliotecas para hacking ético](dia_17/README.md)
- 17.1. - Bibliotecas
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loaded 100 of 430 files, more files were not shown because too many files have changed in this diff. Show more