├── 00-zen.py ├── ejercicios ├── contador.txt ├── texto │ ├── __init__.py │ ├── __pycache__ │ │ ├── __init__.cpython-38.pyc │ │ └── reordenar.cpython-38.pyc │ └── reordenar.py ├── listas │ ├── __init__.py │ ├── __pycache__ │ │ ├── __init__.cpython-38.pyc │ │ └── operaciones.cpython-38.pyc │ └── operaciones.py ├── matematicasLambda │ ├── __init__.py │ ├── __pycache__ │ │ ├── __init__.cpython-38.pyc │ │ └── basicas.cpython-38.pyc │ └── basicas.py ├── intercambio.png ├── exprecionMat2.png ├── formula eje 7.png ├── a sobre b mas uno.png ├── __pycache__ │ ├── MatematicasDoc.cpython-38.pyc │ └── 38MatematicasDoc.cpython-38.pyc ├── 02-exprecionMatematicaCodigo.py ├── 22-SumaCuadrados.py ├── 32-CombinaListas.py ├── 34-MatematicasLambda.py ├── 04-IntercambioValores.py ├── 09-vocalConstante.py ├── 14-EliminarRepetidos.py ├── 24-fibonacci.py ├── 07-validarNumero.py ├── 08-MayorNumero.py ├── 21-TablasMultiplicar.py ├── 33-ValidaPalindromo.py ├── 04-figuras.py ├── 18-numeroCorrecto.py ├── 03-exprecionMatematica2daParete.py ├── 11-RangoExperiencia.py ├── 06-parImpar.py ├── 27-DosAlaNpotencia.py ├── 43-Archivos.py ├── 41-Rectangulo.py ├── 25-SumaNumerosSucesivos.py ├── 26-Factorial.py ├── 28-NumeroMagico.py ├── 17-listaVideos.py ├── 23-sumaRangoNumeros.py ├── 01-operacionesAritmeticas.py ├── 12-banco.py ├── 42-Herencia.py ├── 05-CalificacionAlumno.py ├── 10-calculadora.py ├── 40-ExcepcionNumero.py ├── 20-menu.py ├── MatematicasDoc.py ├── 37-ContinuePassElse.py ├── 31-mayorMenor.py ├── 13-EmpresaDiccionario.py ├── 16-RepiteNumero.py ├── 29-fibonacciFunciones.py ├── 36-GenerarIps.py ├── 15-OpreacionesConjuntos.py ├── 30-FuncionesMatematicas.py ├── 44-Archivocontador.py ├── 19-Escuela.py ├── 35-DecoradoresOfendeHumano.py ├── 39-ArgvMenuMat.py ├── 38-MatematicasDoc.html └── MatematicasDoc.html ├── Programa2.py ├── 01-hola.py ├── 32-operaciones_mat.py ├── Programa1.py ├── imagenes ├── union.png ├── factorial.png ├── fibonacci.png ├── Python_logo.jpg ├── diferencia.png ├── disconexos.png ├── subconjunto.png ├── interseccion.png ├── busqueda secuencial.gif └── diferencia simetrica.jpg ├── operadores └── operadores comparacion.png ├── 21-while.py ├── archivo.txt ├── 33-operaciones_mat2.py ├── 08-entrada_datos.py ├── 24-funcion_kwargs.py ├── 15-set.py ├── 42-argv.py ├── 19-pilas.py ├── 07-salida_consola.py ├── 41-doc.py ├── 06-operadores_asignacion.py ├── 36-funciones_anidadas.py ├── 10-condicionales.py ├── 11-condiciones_anidadas.py ├── 30-busqueda_secuencial.py ├── 48-cadenas.py ├── 31-busqueda_binaria.py ├── 14-tuplas.py ├── 37-closure.py ├── 22-while_true.py ├── 16-teoria_conjuntos.py ├── 39-generador.py ├── 35-lambda.py ├── 38-decoradores.py ├── 45-propierties.py ├── salida.txt ├── 34-variables_locales_globales.py ├── 47-archivo.py ├── 43-excepcion.py ├── 20-colas.py ├── 12-listas.py ├── 26-multiples_parametros.py ├── 17-diccionario.py ├── 29-orden_seleccion.py ├── 28-orden_insercion.py ├── 04-operador_relacionales.py ├── 05-operdor_logico.py ├── 09-funciones_integradas.py ├── 24-funciones2.py ├── 40-continue_pass_else.py ├── 15-set2.py ├── 02-tipos_datos.py ├── 13-listas_metodos.py ├── 23-for.py ├── 18-diccionario2.py ├── 25-parametros_funciones.py ├── 03-operadores_aritmeticos.py ├── 24-funciones.py ├── 17-diccionario_ej.py ├── 27-burbuja.py ├── README.md ├── trabajo2.py ├── 46-herencia.py ├── 44-poo.py └── trabajo.py /00-zen.py: -------------------------------------------------------------------------------- 1 | import this -------------------------------------------------------------------------------- /ejercicios/contador.txt: -------------------------------------------------------------------------------- 1 | 1 -------------------------------------------------------------------------------- /ejercicios/texto/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ejercicios/listas/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ejercicios/matematicasLambda/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Programa2.py: -------------------------------------------------------------------------------- 1 | if __name__=="__main__": 2 | print("Hola desde ",__name__) -------------------------------------------------------------------------------- /01-hola.py: -------------------------------------------------------------------------------- 1 | print ("Hola mundo en Python 🐍") 2 | print ("Hola mundo en Python") 3 | -------------------------------------------------------------------------------- /32-operaciones_mat.py: -------------------------------------------------------------------------------- 1 | import modulos.matematicas as mate 2 | mate.suma(5,6) 3 | mate.resta(6,5) -------------------------------------------------------------------------------- /Programa1.py: -------------------------------------------------------------------------------- 1 | import Programa2 2 | if __name__=="__main__": 3 | print("Hola desde ",__name__) -------------------------------------------------------------------------------- /imagenes/union.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidbcaro/curso_Python/HEAD/imagenes/union.png -------------------------------------------------------------------------------- /imagenes/factorial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidbcaro/curso_Python/HEAD/imagenes/factorial.png -------------------------------------------------------------------------------- /imagenes/fibonacci.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidbcaro/curso_Python/HEAD/imagenes/fibonacci.png -------------------------------------------------------------------------------- /imagenes/Python_logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidbcaro/curso_Python/HEAD/imagenes/Python_logo.jpg -------------------------------------------------------------------------------- /imagenes/diferencia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidbcaro/curso_Python/HEAD/imagenes/diferencia.png -------------------------------------------------------------------------------- /imagenes/disconexos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidbcaro/curso_Python/HEAD/imagenes/disconexos.png -------------------------------------------------------------------------------- /imagenes/subconjunto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidbcaro/curso_Python/HEAD/imagenes/subconjunto.png -------------------------------------------------------------------------------- /ejercicios/intercambio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidbcaro/curso_Python/HEAD/ejercicios/intercambio.png -------------------------------------------------------------------------------- /imagenes/interseccion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidbcaro/curso_Python/HEAD/imagenes/interseccion.png -------------------------------------------------------------------------------- /ejercicios/exprecionMat2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidbcaro/curso_Python/HEAD/ejercicios/exprecionMat2.png -------------------------------------------------------------------------------- /ejercicios/formula eje 7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidbcaro/curso_Python/HEAD/ejercicios/formula eje 7.png -------------------------------------------------------------------------------- /ejercicios/a sobre b mas uno.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidbcaro/curso_Python/HEAD/ejercicios/a sobre b mas uno.png -------------------------------------------------------------------------------- /imagenes/busqueda secuencial.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidbcaro/curso_Python/HEAD/imagenes/busqueda secuencial.gif -------------------------------------------------------------------------------- /imagenes/diferencia simetrica.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidbcaro/curso_Python/HEAD/imagenes/diferencia simetrica.jpg -------------------------------------------------------------------------------- /operadores/operadores comparacion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidbcaro/curso_Python/HEAD/operadores/operadores comparacion.png -------------------------------------------------------------------------------- /ejercicios/__pycache__/MatematicasDoc.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidbcaro/curso_Python/HEAD/ejercicios/__pycache__/MatematicasDoc.cpython-38.pyc -------------------------------------------------------------------------------- /ejercicios/texto/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidbcaro/curso_Python/HEAD/ejercicios/texto/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /21-while.py: -------------------------------------------------------------------------------- 1 | contador = 1 2 | 3 | while contador <= 10: 4 | print("Contador: ", contador) 5 | contador += 1 6 | print("Fin del ciclo") 7 | 8 | # Ejericio 18 -------------------------------------------------------------------------------- /ejercicios/__pycache__/38MatematicasDoc.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidbcaro/curso_Python/HEAD/ejercicios/__pycache__/38MatematicasDoc.cpython-38.pyc -------------------------------------------------------------------------------- /ejercicios/listas/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidbcaro/curso_Python/HEAD/ejercicios/listas/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /ejercicios/texto/__pycache__/reordenar.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidbcaro/curso_Python/HEAD/ejercicios/texto/__pycache__/reordenar.cpython-38.pyc -------------------------------------------------------------------------------- /ejercicios/listas/__pycache__/operaciones.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidbcaro/curso_Python/HEAD/ejercicios/listas/__pycache__/operaciones.cpython-38.pyc -------------------------------------------------------------------------------- /ejercicios/02-exprecionMatematicaCodigo.py: -------------------------------------------------------------------------------- 1 | a = float(input("Ingresa el valor de a:")) 2 | b = float(input("Ingresa el valor de b:")) 3 | res = a/b+1 4 | print(f"El resultado es:{res:,.2f}") -------------------------------------------------------------------------------- /ejercicios/matematicasLambda/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidbcaro/curso_Python/HEAD/ejercicios/matematicasLambda/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /ejercicios/matematicasLambda/__pycache__/basicas.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davidbcaro/curso_Python/HEAD/ejercicios/matematicasLambda/__pycache__/basicas.cpython-38.pyc -------------------------------------------------------------------------------- /ejercicios/22-SumaCuadrados.py: -------------------------------------------------------------------------------- 1 | suma=0 2 | for i in range(1,11): 3 | cuadrado=(i)*(i) 4 | suma=suma+cuadrado 5 | print(f"El cuadrado de {i}={cuadrado}") 6 | print(f"La suma es:{suma}") -------------------------------------------------------------------------------- /ejercicios/32-CombinaListas.py: -------------------------------------------------------------------------------- 1 | import listas.operaciones as operaciones 2 | lista1=[1,3,5,7,9] 3 | lista2=[2,4,6,8,10,12,14] 4 | listaNueva=operaciones.combina(lista1,lista2) 5 | print(listaNueva) -------------------------------------------------------------------------------- /archivo.txt: -------------------------------------------------------------------------------- 1 | Tres tristes tigres 2 | tragaban trigo 3 | en tres tristes trastos 4 | sentados tras un trigal. 5 | Sentados tras un trigal, 6 | en tres tristes trastos 7 | tragaban trigo 8 | tres tristes tigres. -------------------------------------------------------------------------------- /ejercicios/matematicasLambda/basicas.py: -------------------------------------------------------------------------------- 1 | suma=lambda a,b: a+b 2 | resta=lambda a,b: a-b 3 | mul=lambda a,b: a*b 4 | #div=lambda a,b: a/b 5 | def div(a,b): 6 | if b==0: 7 | return 0 8 | else: 9 | return a/b -------------------------------------------------------------------------------- /ejercicios/34-MatematicasLambda.py: -------------------------------------------------------------------------------- 1 | ''' 2 | import matematicasLambda.basicas as basicas 3 | print(basicas.suma(5,6)) 4 | print(basicas.div(5,5)) 5 | ''' 6 | from matematicasLambda.basicas import * 7 | print(suma(5,6)) 8 | print(div(5,5)) -------------------------------------------------------------------------------- /33-operaciones_mat2.py: -------------------------------------------------------------------------------- 1 | import matematicas.basicas as basicas 2 | from matematicas.basicas import suma 3 | from matematicas.basicas import mul 4 | import matematicas.exponentes as ex 5 | basicas.suma(5,6) 6 | suma(7,8) 7 | mul(3,3) 8 | ex.exponente(5,3) -------------------------------------------------------------------------------- /ejercicios/04-IntercambioValores.py: -------------------------------------------------------------------------------- 1 | a = int(input("Ingresa el valor de a:")) 2 | b = int(input("Ingresa el valor de b:")) 3 | aux=a 4 | a=b 5 | b=aux 6 | print("Humano aqui estan tus ingaos valores:") 7 | print(f"Valor a {a}") 8 | print(f"Valor b {b}") -------------------------------------------------------------------------------- /ejercicios/09-vocalConstante.py: -------------------------------------------------------------------------------- 1 | letra=input("Ingresa una constante:").lower() 2 | #letra=letra.lower() 3 | if letra=="a" or letra=="e" or letra=="i" or letra=="o" or letra=="u": 4 | print("No se ingresó una constante") 5 | else: 6 | print("Correcto") -------------------------------------------------------------------------------- /08-entrada_datos.py: -------------------------------------------------------------------------------- 1 | nombre = input("Ingresa tu nombre: ") 2 | edad = int(input("Ingresa tu edad: ")) 3 | print(f"Tu nombre es: {nombre} y tu edad es de {edad} años") 4 | dias = edad * 365 5 | print(f"Hace {dias:,} dias que naciste") 6 | 7 | # Ejercicios del 1 al 5 -------------------------------------------------------------------------------- /24-funcion_kwargs.py: -------------------------------------------------------------------------------- 1 | def suma(**kwargs): 2 | suma = 0 3 | for key, value in kwargs.items(): 4 | print(key, value) 5 | suma += value 6 | return suma 7 | 8 | resultado = suma(a=5, b=20, c=23, d=50, e=100) 9 | print("El resultado es:", resultado) -------------------------------------------------------------------------------- /ejercicios/14-EliminarRepetidos.py: -------------------------------------------------------------------------------- 1 | lista=[1,1,1,2,8,8,3,3,4,1,3,5,6] 2 | print(lista) 3 | ''' 4 | conjunto=set() 5 | conjunto=set(lista) 6 | lista=list(conjunto) 7 | lista.sort() 8 | print(lista) 9 | ''' 10 | lista=list(set(lista)) 11 | lista.sort() 12 | print(lista) -------------------------------------------------------------------------------- /15-set.py: -------------------------------------------------------------------------------- 1 | conjuntos = set() 2 | conjuntos = {1, 2, 3, "Hola", "mundo", 1, 2, 3} 3 | print(conjuntos) 4 | #conjuntos.append(5) 5 | conjuntos.add(5) 6 | print(conjuntos) 7 | print("3 in conjuntos=", 3 in conjuntos) 8 | conjuntos.discard(1) 9 | print("conjuntos.discard(1)=", conjuntos) -------------------------------------------------------------------------------- /42-argv.py: -------------------------------------------------------------------------------- 1 | import sys 2 | if __name__=="__main__": 3 | for argumentos in sys.argv: 4 | if argumentos=="-h" or argumentos=="--help" : 5 | print("Bienvenido al programa x\ 6 | \n-s:sumar\ 7 | \n-r:restas") 8 | #print(argumentos) 9 | #print(sys.argv) -------------------------------------------------------------------------------- /19-pilas.py: -------------------------------------------------------------------------------- 1 | pila = [] 2 | print("ENTRADA") 3 | pila.append('T') 4 | print('T') 5 | pila.append('E') 6 | print('E') 7 | pila.append('C') 8 | print('C') 9 | 10 | print("SALIDA") 11 | n = pila.pop() 12 | print(n) 13 | n = pila.pop() 14 | print(n) 15 | n = pila.pop() 16 | print(n) -------------------------------------------------------------------------------- /ejercicios/24-fibonacci.py: -------------------------------------------------------------------------------- 1 | x=0 2 | y=1 3 | z=0 4 | while True: 5 | n=int(input("Ingresa un número mayor a 1:")) 6 | if n>1: 7 | break 8 | print("1",end=" ") 9 | for i in range(0,n): 10 | z=x+y 11 | print(f"{z}",end=" ") 12 | x=y 13 | y=z 14 | print("") -------------------------------------------------------------------------------- /ejercicios/texto/reordenar.py: -------------------------------------------------------------------------------- 1 | def palindromo(texto): 2 | texto=texto.replace(" ","") 3 | tam=len(texto) 4 | cont=0 5 | for i in reversed(range(0,tam)): 6 | if texto[i].lower()!=texto[cont].lower(): 7 | return False 8 | cont=cont+1 9 | return True -------------------------------------------------------------------------------- /07-salida_consola.py: -------------------------------------------------------------------------------- 1 | nombre = "Elon" 2 | edad = 30 3 | print ("Hola tu nombre es", nombre, " y tu edad es", edad) 4 | #print("Hola tu nombre es {0} y tu edad es {1:10.3f} adios {0}".format(nombre,edad)) 5 | print(f"Hola tu nombre es {nombre} y tu edad {edad:2.0f} años. ¡Hasta la próxima {nombre}!") 6 | -------------------------------------------------------------------------------- /41-doc.py: -------------------------------------------------------------------------------- 1 | def funcionQueHacealgo(): 2 | pass 3 | def funcionQueHacealgo2(): 4 | pass 5 | def funcionQueHacealgo3(): 6 | pass 7 | ''' 8 | print("NOMBRE DE NUESTRA FUNCION:",funcionQueHacealgo2.__name__) 9 | print("DOCUMENTACION DE NUESTRA FUNCION:",funcionQueHacealgo2.__doc__) 10 | ''' -------------------------------------------------------------------------------- /ejercicios/07-validarNumero.py: -------------------------------------------------------------------------------- 1 | x = float(input("Ingresa el valor de x:")) 2 | y = float(input("Ingresa el valor de y:")) 3 | dividendo = (y**2)-1 4 | if dividendo != 0: 5 | res= ( x**(1/2) ) / dividendo 6 | print(f"El resultado es:{res}") 7 | else: 8 | print(f"El valor de 'Y' no puede ser {y}") -------------------------------------------------------------------------------- /ejercicios/08-MayorNumero.py: -------------------------------------------------------------------------------- 1 | print("Ingresa dos números:") 2 | n1=int(input("Número 1:")) 3 | n2=int(input("Número 2:")) 4 | if n1==n2: 5 | print("Los 2 números son iguales") 6 | elif n1>n2: 7 | print(f"El número {n1} es mayor que {n2}") 8 | else: 9 | print(f"El número {n2} es mayor que {n1}") -------------------------------------------------------------------------------- /06-operadores_asignacion.py: -------------------------------------------------------------------------------- 1 | a = 1 2 | b = 1 3 | c = 1 4 | d = 1 5 | e = 1 6 | f = 1 7 | #a=a+1 a+=1 8 | a += 1 9 | print("a+=1=", a) 10 | b -= 1 11 | print("b-=1=", b) 12 | c *= 1 13 | print("c*=1=", c) 14 | d /= 1 15 | print("d/=1=", d) 16 | e **= 1 17 | print("e**=1=", e) 18 | f %= 1 19 | print("f%=1=", f) -------------------------------------------------------------------------------- /ejercicios/21-TablasMultiplicar.py: -------------------------------------------------------------------------------- 1 | while True: 2 | numero=int(input("Ingresa un número entre el 1 y el 10:")) 3 | if numero<1 or numero>10: 4 | print(f"El número {numero} esta fuera del rango de 1 y 10:") 5 | else: 6 | break 7 | for i in range(10): 8 | print(f"{(i+1)} * {numero} = {(i+1)*numero} ") -------------------------------------------------------------------------------- /ejercicios/33-ValidaPalindromo.py: -------------------------------------------------------------------------------- 1 | import texto.reordenar as reordenar 2 | while True: 3 | texto=input("Ingresa un palíndromo:") 4 | esPalindromo=reordenar.palindromo(texto) 5 | if esPalindromo==True: 6 | print(f"'{texto}' si es palíndromo") 7 | break 8 | else: 9 | print(f"'{texto}' no es palíndromo") -------------------------------------------------------------------------------- /ejercicios/04-figuras.py: -------------------------------------------------------------------------------- 1 | menu = """ 2 | Seleccione una opción 3 | (1) Área cuadrado 4 | (2) Área rectángulo 5 | (3) Área circulo 6 | """ 7 | opcion = int(input(menu)) 8 | 9 | if opcion == 1: 10 | lado = int(input("Ingrese el valor del lado (cm): ")) 11 | area_c = lado * lado 12 | print("El área del cuadrado es: ", area_c) -------------------------------------------------------------------------------- /36-funciones_anidadas.py: -------------------------------------------------------------------------------- 1 | def divicion(a,b): 2 | def validar(): 3 | if a>0 and b>0: 4 | return True 5 | else: 6 | return False 7 | print(validar()) 8 | if validar()==True: 9 | return a/b 10 | else: 11 | return None 12 | resultado=divicion(0,0) 13 | print(resultado) 14 | -------------------------------------------------------------------------------- /10-condicionales.py: -------------------------------------------------------------------------------- 1 | numero = float(input("Ingresa un número entero positivo: ")) 2 | 3 | if numero < 0: 4 | print("Incorrecto, por favor ingresa un número válido") 5 | elif numero == 0: 6 | print("El número ingresado es cero") 7 | else: 8 | print("Correcto, el número", numero, "es positivo") 9 | print("Fin del condicional") 10 | 11 | -------------------------------------------------------------------------------- /11-condiciones_anidadas.py: -------------------------------------------------------------------------------- 1 | edad = int(input("Ingresa tu edad:")) 2 | #if edad >= 0 and edad < 100: 3 | #if 0 <= edad < 120: 4 | if edad >= 0 and edad <= 150: 5 | if edad >= 18: 6 | print("El es mayor de edad", edad) 7 | else: 8 | print("El es menor de edad", edad) 9 | else: 10 | print("Edad incorrecta") 11 | 12 | # Ejercicios del 6 al 12 -------------------------------------------------------------------------------- /ejercicios/18-numeroCorrecto.py: -------------------------------------------------------------------------------- 1 | divisor = float(input("Ingresa el divisor:")) 2 | dividendo = float(input("Ingresa un dividendo superior a 0:")) 3 | while dividendo<=0: 4 | print(f"El dividendo {dividendo} debe ser superior a 0 intentalo de nuevo:") 5 | dividendo=float(input()) 6 | 7 | division = divisor/dividendo 8 | print(f"El resultado de la división es:{division}") -------------------------------------------------------------------------------- /30-busqueda_secuencial.py: -------------------------------------------------------------------------------- 1 | import modulos.humano as humus 2 | import modulos.busquedas as busquedas 3 | lista=[1,2,3,4,5] 4 | while True: 5 | num=humus.pedirNumero(lista) 6 | encontrado=busquedas.busquedaSecuencia(lista,num) 7 | if encontrado==True: 8 | print("Felicidades has colocado ún numero de la lista") 9 | break 10 | else: 11 | print("Inténtalo de nuevo:") -------------------------------------------------------------------------------- /ejercicios/03-exprecionMatematica2daParete.py: -------------------------------------------------------------------------------- 1 | a = float(input("Ingresa el valor de a:")) 2 | b = float(input("Ingresa el valor de b:")) 3 | c = float(input("Ingresa el valor de c:")) 4 | d = float(input("Ingresa el valor de d:")) 5 | e = float(input("Ingresa el valor de e:")) 6 | f = float(input("Ingresa el valor de f:")) 7 | res = (a+b/c) / (d+e/f) 8 | print(f"Humano aqui esta tu pich... resultado:{res:,.3f}") -------------------------------------------------------------------------------- /ejercicios/11-RangoExperiencia.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Entre 0 y 1 años es junior 3 | Entre 1 y 3 años es semi senior 4 | Entre 3 y 5 años es senior 5 | ''' 6 | anios=int(input("Cuántos años de experiencia tienes: ")) 7 | if 0 <= anios<1: 8 | print("Cadidato para ser junior") 9 | elif 1 <= anios<3: 10 | print("Cadidato para ser semi senior") 11 | elif 3 <= anios<5: 12 | print("Cadidato para ser senior") -------------------------------------------------------------------------------- /48-cadenas.py: -------------------------------------------------------------------------------- 1 | var = "Hola mundo" 2 | dir(var) 3 | print(var.capitalize()) 4 | print(var.upper()) 5 | print(var.lower()) 6 | 7 | # Unir cadenas 8 | lista = ["Hola", "mundo"] 9 | unir = "-".join(lista) 10 | print(unir) 11 | 12 | # Recorrrer lista e imprimir índice y valor 13 | quesos = ['Cheddar', 'Edam', 'Gouda', 4, 5, 6] 14 | 15 | for indice, valor in enumerate (quesos): 16 | print(indice, valor) -------------------------------------------------------------------------------- /ejercicios/listas/operaciones.py: -------------------------------------------------------------------------------- 1 | def combina(lista1,lista2): 2 | listaNueva=[] 3 | tam1=len(lista1) 4 | tam2=len(lista2) 5 | if tam1>=tam2: 6 | tamMayor=tam1 7 | else: 8 | tamMayor=tam2 9 | for i in range(0,tamMayor): 10 | if i1: 4 | break 5 | else: 6 | print("Te pedí un número mayor a 1") 7 | suma=0 8 | for i in range(1,n+1): 9 | potencia=pow(2,i) 10 | suma=suma+potencia 11 | if i1: 4 | break 5 | else: 6 | print("Te pedí un numero mayor a 1") 7 | suma=0 8 | strResultado="" 9 | for i in range(1,n+1): 10 | suma=suma+i 11 | #print(f"{i}",end="+") 12 | strResultado=strResultado+str(i)+"+" 13 | strResultado=strResultado[:-1] 14 | strResultado=strResultado+"=" 15 | print(strResultado) 16 | print(f"Resultado de la suma:{suma}") -------------------------------------------------------------------------------- /ejercicios/26-Factorial.py: -------------------------------------------------------------------------------- 1 | while True: 2 | n=int(input("Ingresa un número mayor a 1:")) 3 | if n>1: 4 | break 5 | else: 6 | print("Te pedí que ingresara un número mayor a 1 intentalo de nuevo") 7 | factorial=1 8 | strResultado="" 9 | for i in range(1,n+1): 10 | factorial=factorial*i 11 | strResultado=strResultado+str(i)+"*" 12 | strResultado=strResultado[:-1] 13 | strResultado=strResultado+"=" 14 | print(strResultado) 15 | print(f"Factorial:{factorial}") -------------------------------------------------------------------------------- /22-while_true.py: -------------------------------------------------------------------------------- 1 | #Con do while 2 | 3 | while True: 4 | letra = input("Usuario digita la letra 'a': ") 5 | if letra == 'a': 6 | break 7 | else: 8 | print("Incorrecto, se digitó una letra diferente a la letra 'a'") 9 | print("Correcto, se digitó la letra 'a'") 10 | ''' 11 | #Con while 12 | letra = input("Usuario digita la letra 'a': ") 13 | while letra == 'a': 14 | letra = input("Usuario digita la letra 'a': ") 15 | print("Usuario digitaste una letra diferente a 'a'") 16 | ''' -------------------------------------------------------------------------------- /16-teoria_conjuntos.py: -------------------------------------------------------------------------------- 1 | a = {1, 2, 3, 4} 2 | b = {4, 5, 6, 7} 3 | d = {1, 2, 3, 4, 5, 6} 4 | e = {11, 12, 13, 14, 15, 16} 5 | print("a==b:", a==b) 6 | c = a|b 7 | print("c=a|b=", c) 8 | c = a&b 9 | print("c=a&b=", c) 10 | c = a-b 11 | print("c=a-b=", c) 12 | c = a^b 13 | print("c=a^b=", c) 14 | print("a.issubset(d)=", a.issubset(d)) 15 | print("d.issubset(a)=", d.issubset(a)) 16 | print("d.issubset(a)=", d.issuperset(a)) 17 | print("a.isdisjoint(e)=", a.isdisjoint(e)) 18 | f = frozenset({1, 2, 3}) 19 | #f.add(2) -------------------------------------------------------------------------------- /39-generador.py: -------------------------------------------------------------------------------- 1 | ''' 2 | for i in range(0,5): 3 | print(i) 4 | 5 | def miRango(ini,fin): 6 | for i in range(ini,fin): 7 | if i%2==0: 8 | yield i*2,True 9 | else: 10 | yield i*2,False 11 | 12 | for i in miRango(0,5): 13 | print(i) 14 | ''' 15 | def comofuncionaGenerador(): 16 | print("Hola") 17 | yield "Adios" 18 | print("Hola de nuevo") 19 | yield "Adios otra vez" 20 | print(type(comofuncionaGenerador())) 21 | res=list(comofuncionaGenerador()) 22 | print(res) -------------------------------------------------------------------------------- /ejercicios/28-NumeroMagico.py: -------------------------------------------------------------------------------- 1 | import random 2 | contador=1 3 | aleatorio=int(random.random()*100) 4 | while True: 5 | numero=int(input(f"Qué número entre 1 y 100 crees que estoy pensando ({aleatorio}):")) 6 | if numeroaleatorio: 9 | print(f"El número {numero} es mayor al que estoy pensando") 10 | if numero==aleatorio: 11 | print(f"FELICIDADES ADIVINASTE EL NÚMERO EN {contador} INTENTOS") 12 | break 13 | contador=contador+1 -------------------------------------------------------------------------------- /ejercicios/17-listaVideos.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Crearemos una lista vacía. 3 | Crearemos un diccionario con 3 llaves y valores: nombre, url y duracion. 4 | Agregaremos cada diccionarios nuestra lista. 5 | Mostraremos el resultado. 6 | ''' 7 | videos=[] 8 | v={"nombre":"01.- Tutorial python","url":"youtube.com/lkdslkdjs","duracion":500} 9 | videos.append(v) 10 | v={"nombre":"02.- Tutorial python","url":"youtube.com/ljsajas","duracion":400} 11 | videos.append(v) 12 | v={"nombre":"03.- Tutorial python","url":"youtube.com/ñlksdlksdd","duracion":700} 13 | videos.append(v) 14 | print(videos) -------------------------------------------------------------------------------- /35-lambda.py: -------------------------------------------------------------------------------- 1 | ''' 2 | def suma(a,b): 3 | return a+b 4 | aliasSuma=suma 5 | res=aliasSuma(5,6) 6 | print(res) 7 | ''' 8 | ''' 9 | suma=lambda a,b: a+b 10 | res=suma(5,6) 11 | print(res) 12 | ''' 13 | ''' 14 | quitaEspacios=lambda texto: texto.replace(" ","") 15 | res=quitaEspacios("Hola mundo") 16 | print(res) 17 | ''' 18 | ''' 19 | noParametros=lambda : 10+10 20 | res=noParametros() 21 | print(res) 22 | ''' 23 | noParametrosnoRetorna=lambda : print("Hola mundo") 24 | res=noParametrosnoRetorna() 25 | print(res) 26 | 27 | def noParametrosnoRetorna1(): 28 | print("Hola mundo") -------------------------------------------------------------------------------- /38-decoradores.py: -------------------------------------------------------------------------------- 1 | def A(parametro=True): 2 | def _A(B): 3 | def antes(): 4 | print("************") 5 | def despues(): 6 | print("************") 7 | def C(*args): 8 | if parametro==True: 9 | antes() 10 | res=B(*args) 11 | if parametro==True: 12 | despues() 13 | return res 14 | return C 15 | return _A 16 | 17 | @A(True) 18 | def B(a,b): 19 | print(f"Hola mundo a={a} b={b}") 20 | return a+b 21 | 22 | res=B(5,6) 23 | print(res) 24 | -------------------------------------------------------------------------------- /ejercicios/23-sumaRangoNumeros.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Programa que pida numero enteros y los vaya sumando. 3 | Si el número introducido esta dentro de 100 y 200 o es 0 cerrar el programa. 4 | ''' 5 | suma=0 6 | while True: 7 | numero=int(input("Ingresa un numero entre 100 y 200 para ser sumado si presionas 0 se cierra el programa:")) 8 | if numero>=100 and numero<=200: 9 | suma=suma+numero 10 | print(f"El resultado es: {suma}") 11 | else: 12 | print(f"Solo se pueden sumar números entre 100 y 200 aqui esta tu suma {suma}") 13 | if numero==0: 14 | break -------------------------------------------------------------------------------- /ejercicios/01-operacionesAritmeticas.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Declarar múltiples variables. 3 | Pedir al usuario que ingrese el valor de 2 variables 4 | Realizar varias operaciones aritméticas (Suma,Resta, Division y Multiplicacion). 5 | Mostrar el resultado en consola con print. 6 | ''' 7 | n1 = float(input("Ingresa el numero 1: ")) 8 | n2 = float(input("Ingresa el numero 2: ")) 9 | suma = n1+n2 10 | resta = n1-n2 11 | mul = n1*n2 12 | div = n1/n2 13 | divEntera = n1//n2 14 | print(f"Suma={suma}") 15 | print(f"Resta={resta}") 16 | print(f"Multiplicacion={mul}") 17 | print(f"Divicion={div}") 18 | print(f"Divicion entera={divEntera}") 19 | -------------------------------------------------------------------------------- /45-propierties.py: -------------------------------------------------------------------------------- 1 | class Auto: 2 | def __init__(self,matricula): 3 | self.__matricula=matricula 4 | 5 | @property 6 | def matricula(self): 7 | return self.__matricula 8 | 9 | @matricula.setter 10 | def matricula(self,valor): 11 | self.__matricula=valor 12 | ''' 13 | def getMatricula(self): 14 | return self.__matricula 15 | 16 | def setMatricula(self,valor): 17 | self.__matricula=valor 18 | ''' 19 | carro1=Auto("WWW") 20 | carro1.matricula="QQQ" 21 | print(carro1.matricula) 22 | ''' 23 | carro1.setMatricula("QQQ") 24 | print(carro1.getMatricula()) 25 | ''' -------------------------------------------------------------------------------- /ejercicios/12-banco.py: -------------------------------------------------------------------------------- 1 | total=1000 2 | print("¡Bienvenido al banco!\n\ 3 | Qué quieres hacer\n\ 4 | 1.- Ingresar dinero:\n\ 5 | 2.- Sacar dinero:\n\ 6 | 3.-Salir:\n") 7 | opcion=int(input()) 8 | if opcion==1: 9 | ingreso=float(input("¿Cuánto dinero deseas ingresar?:")) 10 | total+=ingreso 11 | print(f"Tu saldo es de {total:.2f}") 12 | elif opcion==2: 13 | egreso=float(input("¿Cuánto dinero deseas sacar?:")) 14 | if total-egreso<0: 15 | print(f"Tu saldo solo es de {total:.2f}") 16 | else: 17 | total-=egreso 18 | print(f"Tu saldo es de {total:.2f}") 19 | elif opcion==3: 20 | quit() 21 | -------------------------------------------------------------------------------- /salida.txt: -------------------------------------------------------------------------------- 1 | Total de líneas: 8 2 | Total de palabras: 26 3 | Total de caracteres: 173 4 | La palabra 'tres' tiene una frecuencia de: 4 5 | La palabra 'tristes' tiene una frecuencia de: 4 6 | La palabra 'tigres' tiene una frecuencia de: 2 7 | La palabra 'tragaban' tiene una frecuencia de: 2 8 | La palabra 'trigo' tiene una frecuencia de: 2 9 | La palabra 'en' tiene una frecuencia de: 2 10 | La palabra 'trastos' tiene una frecuencia de: 2 11 | La palabra 'sentados' tiene una frecuencia de: 2 12 | La palabra 'tras' tiene una frecuencia de: 2 13 | La palabra 'un' tiene una frecuencia de: 2 14 | La palabra 'trigal' tiene una frecuencia de: 2 15 | -------------------------------------------------------------------------------- /34-variables_locales_globales.py: -------------------------------------------------------------------------------- 1 | ''' 2 | def funcionUno(): 3 | miVariable="Hola desde funcionUno" 4 | miVariable=miVariablePrincipal 5 | miVariablefuncionUno="miVariablefuncionUno" 6 | print(miVariable) 7 | def funcionDos(): 8 | miVariable="Hola desde funcionDos" 9 | print(miVariable) 10 | miVariable="Hola desde principal" 11 | miVariablePrincipal="Estoy en principal" 12 | miVariablefuncionUno="" 13 | funcionUno() 14 | funcionDos() 15 | print(miVariablefuncionUno) 16 | ''' 17 | def funcionUno(): 18 | global miVariable 19 | miVariable="Hola desde funcionUno" 20 | miVariable="Estoy en principal" 21 | funcionUno() 22 | print(miVariable) -------------------------------------------------------------------------------- /47-archivo.py: -------------------------------------------------------------------------------- 1 | #absoluta="C:\\Users\\eugenio\\Documents\\GitHub\\curso-python\\archivos\\hola.txt" 2 | relativa="archivos\\hola.txt" 3 | archivo=open(relativa,"r") 4 | #print(archivo.read()) 5 | #print(archivo.readline()) 6 | #print(archivo.readline()) 7 | #print(archivo.readline()) 8 | #print(archivo.readlines()) 9 | #for linea in archivo.readlines(): 10 | # print(linea) 11 | #ESCRITURA 12 | #relativa2="archivos\\hola2.txt" 13 | #archivo2=open(relativa2,"w") 14 | #archivo2.write("C#\nVB.NET\nASP.NET") 15 | #ESCRITURA-LECTURA 16 | relativa3="archivos\\hola3.txt" 17 | archivo3=open(relativa3,"r+") 18 | archivo3.write("Hola\nComo\nEstas") 19 | archivo3.seek(0) 20 | print(archivo3.read()) -------------------------------------------------------------------------------- /43-excepcion.py: -------------------------------------------------------------------------------- 1 | lista=[] 2 | a=int(input("Ingresa un numero:")) 3 | lista.append(a) 4 | b=int(input("Ingresa un numero mayor a 0:")) 5 | lista.append(b) 6 | 7 | try: 8 | res=a/b 9 | print(lista[1]) 10 | except Exception as ex: 11 | print(ex) 12 | finally: 13 | print("Fin del programa") 14 | 15 | ''' 16 | try: 17 | print(lista[2]) 18 | except IndexError as ex: 19 | print(ex," El index 2 no existe en la lista") 20 | ''' 21 | 22 | ''' 23 | try: 24 | res=a/b 25 | except ZeroDivisionError as ex: 26 | print(ex) 27 | print("b debe ser mayor a 0") 28 | ''' 29 | 30 | ''' 31 | if b>0: 32 | res=a/b 33 | else: 34 | print("b debe ser mayor a 0") 35 | ''' 36 | -------------------------------------------------------------------------------- /ejercicios/42-Herencia.py: -------------------------------------------------------------------------------- 1 | class Persona: 2 | def __init__(self,nombre,edad): 3 | self.nombre=nombre 4 | self.edad=edad 5 | class Maestro(Persona): 6 | def __init__(self,nombre,edad,grado): 7 | Persona.__init__(self,nombre,edad) 8 | self.grado=grado 9 | class Estudiante(Persona): 10 | def __init__(self,nombre,edad,codigo): 11 | Persona.__init__(self,nombre,edad) 12 | self.codigo=codigo 13 | class Universitario(Estudiante): 14 | def __init__(self,nombre,edad,codigo,carrera): 15 | Estudiante.__init__(self,nombre,edad,codigo) 16 | self.carrera=carrera 17 | u1=Universitario("Eugenio",23,"02352","Sistemas") 18 | print(u1.carrera) -------------------------------------------------------------------------------- /20-colas.py: -------------------------------------------------------------------------------- 1 | cola = [] 2 | print("ENTRADA") 3 | cola.append("Juan") 4 | print("Llego:", cola[-1]) 5 | cola.append("Alejandra") 6 | print("Llego:", cola[-1]) 7 | cola.append("Maria") 8 | print("Llego:", cola[-1]) 9 | cola.append("Mario") 10 | print("Llego:", cola[-1]) 11 | cola.append("Pepe") 12 | print("Llego:", cola[-1]) 13 | print("SALIDA") 14 | atendido = cola.pop(0) 15 | print("Se atendio a:", atendido) 16 | atendido = cola.pop(0) 17 | print("Se atendio a:", atendido) 18 | atendido = cola.pop(0) 19 | print("Se atendio a:", atendido) 20 | atendido = cola.pop(0) 21 | print("Se atendio a:",atendido) 22 | atendido = cola.pop(0) 23 | print("Se atendio a:", atendido) 24 | print(cola) 25 | 26 | # Ejercicio del 14 al 17 -------------------------------------------------------------------------------- /ejercicios/05-CalificacionAlumno.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Calcular las calificaciones de un alumno con las siguientes características: 3 | Calificación de prácticas que es 40%. 4 | Calificación de participación que es 20%. 5 | Calificación de examen que es 40%. 6 | Obtener la calificación final sumando y obteniendo el promedio. 7 | ''' 8 | print("Ingresa las calificaciones del alumno:") 9 | practicas = float(input("Calificación de las prácticas:")) 10 | participacion = float(input("Calificación de las participaciones:")) 11 | examen = float(input("Calificación del examen:")) 12 | practicas *= 0.40 13 | participacion *= 0.20 14 | examen *= 0.40 15 | final=practicas+participacion+examen 16 | print(f"Esta es la calificación:{final:.2f}") -------------------------------------------------------------------------------- /12-listas.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Primer elemento 3 | Último elemento 4 | Un elemento que no está en la lista. 5 | Rango del primero al tercero. 6 | Rango del tercero al último. 7 | ''' 8 | lista = ["Enero", "Febrero", "Marzo", "Abril", 1, 2, 3.33, [4, 5, 6]] 9 | print(lista) 10 | print(lista[1]) 11 | # print("Primer elemento:", lista[0]) 12 | # print("Tercer elemento:", lista[2]) 13 | # print("Último elemento:", lista[-1]) 14 | # #print("Un elemento que no está en la lista:",lista[9]) 15 | # print("Rango del primero al tercero:", lista[:3]) 16 | # print("Rango del tercero al último:", lista[3:]) 17 | # print("Imprimir desde el último elemento al primero", lista[::-1]) 18 | # lista[3] = "Noviembre" 19 | # print(lista) 20 | 21 | 22 | -------------------------------------------------------------------------------- /ejercicios/10-calculadora.py: -------------------------------------------------------------------------------- 1 | ''' 2 | S o s: Suma. 3 | R o r: Resta. 4 | M o m: Multiplicación. 5 | D o d: División. 6 | ''' 7 | print("Ingresa dos numeros") 8 | num1=int(input("Numero 1:")) 9 | num2=int(input("Numero 2:")) 10 | opcion=input("Selecciona lo que quieres hacer con estos dos números\n\ 11 | S s=Suma\n\ 12 | R r=Resta\n\ 13 | M m=Multiplicacion\n\ 14 | D d=Divicion\n" 15 | ) 16 | opcion=opcion.lower() 17 | res=0 18 | if opcion=="s": 19 | res=num1+num2 20 | if opcion=="r": 21 | res=num1-num2 22 | if opcion=="m": 23 | res=num1*num2 24 | if opcion=="d": 25 | if num2!=0: 26 | res=num1/num2 27 | else: 28 | print("Elige una opción correcta") 29 | quit() 30 | print(f"El resultado es:{res}") 31 | 32 | -------------------------------------------------------------------------------- /26-multiples_parametros.py: -------------------------------------------------------------------------------- 1 | ''' 2 | #Que es la asignación simultánea de valores. 3 | #a=5 4 | #b=10 5 | #c=15 6 | a,b,c=10,15,20 7 | print(f"a={a},b={b},c={c}") 8 | ''' 9 | ''' 10 | #Funciones que retornan valores simultáneos. 11 | def retornaValoresSimultaneos(a,b,c): 12 | return a+b,c 13 | #d,f=retornaValoresSimultaneos(4,5,6) 14 | #print(f"d={d},f={f}") 15 | t=retornaValoresSimultaneos(4,5,6) 16 | print(t) 17 | print(f"t[0]={t[0]},t[1]={t[1]}") 18 | ''' 19 | #Funciones que admiten indeterminada cantidad de valores. 20 | def admiteIndeterminadaParametros(*args): 21 | suma = 0 22 | for i in args: 23 | print(f"{i}",end="+") 24 | suma = suma+i 25 | print(f"\nSuma={suma}") 26 | admiteIndeterminadaParametros(4,5,6,7,8,9,10,11,12) -------------------------------------------------------------------------------- /ejercicios/40-ExcepcionNumero.py: -------------------------------------------------------------------------------- 1 | def leerNumero(): 2 | while True: 3 | valor=input("Ingresa un número que sea un número:") 4 | try: 5 | numero=int(valor) 6 | return numero 7 | except ValueError as ex: 8 | print(f"El valor '{valor}' no es número intentalo de nuevo ",ex) 9 | lista=[] 10 | print("Ingresa una lista de números (0 para terminar)") 11 | while True: 12 | numero=leerNumero() 13 | if numero==0: 14 | break 15 | else: 16 | lista.append(numero) 17 | 18 | print("Ingresa un índice de tu lista: ",lista) 19 | try: 20 | print(f"Este es el número de tu índice ",lista[leerNumero()]) 21 | except IndexError as ex: 22 | print("El índice no esta en la lista ",ex) 23 | -------------------------------------------------------------------------------- /17-diccionario.py: -------------------------------------------------------------------------------- 1 | diccionario = { 2 | 1: "Python", 3 | 2: "Java", 4 | 3: "Javascript", 5 | 4: (1, 3) 6 | } 7 | print(diccionario) 8 | print('len(diccionario)=', len(diccionario)) 9 | print("diccionario['Python']=", diccionario[3]) 10 | print(diccionario) 11 | 12 | print("diccionario['c++']=4=", diccionario) 13 | diccionario[5] = "C++" 14 | print("diccionario['c++']=5=", diccionario) 15 | # del(diccionario['c++']) 16 | # print("del(diccionario['c++'])=", diccionario) 17 | # diccionario['c/c++'] = [4,5] 18 | # print("diccionario['c/c++']=[4,5]=", diccionario) 19 | # #diccionario['c/c++'] = (4,5) 20 | # #print("diccionario['c/c++']=(4,5)=", diccionario) 21 | # diccionario['otros'] = {100,101,102} 22 | # print("diccionario['otros']={100,101,102}=", diccionario) 23 | -------------------------------------------------------------------------------- /29-orden_seleccion.py: -------------------------------------------------------------------------------- 1 | def insertarNumero(): 2 | lista=[] 3 | while True: 4 | n=int(input("Por favor ingresa un número (0 terminar):")) 5 | if n==0: 6 | return lista 7 | else: 8 | lista.append(n) 9 | def ordenPorSeleccion(lista): 10 | tamaño=len(lista) 11 | for i in range(0,tamaño): 12 | min=i 13 | for j in range(i+1,tamaño): 14 | if lista[min]>lista[j]: 15 | min=j 16 | aux=lista[i] 17 | lista[i]=lista[min] 18 | lista[min]=aux 19 | return lista 20 | def mostrarLista(lista): 21 | for numero in lista: 22 | print(numero) 23 | 24 | lista=insertarNumero() 25 | ordenPorSeleccion(lista) 26 | print("Números ordenados:") 27 | mostrarLista(lista) -------------------------------------------------------------------------------- /28-orden_insercion.py: -------------------------------------------------------------------------------- 1 | def insertarNumero(): 2 | lista=[] 3 | while True: 4 | n=int(input("Por favor ingresa un número (0 terminar):")) 5 | if n==0: 6 | return lista 7 | else: 8 | lista.append(n) 9 | def ordenPorInsercion(lista): 10 | pos=0 11 | i=0 12 | aux=0 13 | for _ in lista: 14 | pos=i 15 | aux=lista[i] 16 | while pos>0 and lista[pos-1]>aux: 17 | lista[pos]=lista[pos-1] 18 | pos=pos-1 19 | lista[pos]=aux 20 | i=i+1 21 | return lista 22 | def mostrarLista(lista): 23 | for numero in lista: 24 | print(numero) 25 | lista=insertarNumero() 26 | lista=ordenPorInsercion(lista) 27 | print("Lista ordenada por inserción") 28 | mostrarLista(lista) -------------------------------------------------------------------------------- /04-operador_relacionales.py: -------------------------------------------------------------------------------- 1 | num1 = 10 2 | num2 = 20 3 | num3 = 30 4 | resultado = num1num2 8 | print(num1, "es > que ", num2, ":", resultado) 9 | # 10 es > que 20: False 10 | resultado = num1==num2 11 | print(num1, "es == que ",num2, ":", resultado) 12 | # 10 es = que 20: Flase 13 | resultado = num1<=num2 14 | print(num1, "es <= que ",num2, ":", resultado) 15 | # 10 es <= 20: True 16 | resultado = num1>=num2 17 | print(num1, "es >= que ", num2, ":", resultado) 18 | # 10 es >= 20: Flase 19 | resultado = num1!=num2 20 | print(num1, "es != que ", num2, ":", resultado) 21 | # 10 es >= 20: True 22 | resultado = num1+num2==num3 23 | print(num1+num2, "es == que ", num3,":", resultado) 24 | # 30 es == que 30: True -------------------------------------------------------------------------------- /05-operdor_logico.py: -------------------------------------------------------------------------------- 1 | ''' 2 | AND 3 | 0 0 = 0 4 | 1 0 = 0 5 | 0 1 = 0 6 | 1 1 = 1 7 | 8 | OR 9 | 0 0 = 0 10 | 1 0 = 1 11 | 0 1 = 1 12 | 1 1 = 1 13 | 14 | NOT 15 | 0 = 1 16 | 1 = 0 17 | ''' 18 | imc = 26 19 | if imc > 19.9 or imc <= 25: 20 | print("Su peso es normal") 21 | 22 | a = 10 23 | b = 15 24 | c = 20 25 | resultado = ((ab) and (bb, " and ", bb) or (bb, " or ", b0: 11 | var=var-1 12 | if var==5: 13 | continue 14 | print(var) 15 | 16 | #pass 17 | for letra in "Programador Novato": 18 | if letra==" ": 19 | pass 20 | print(letra,end="") 21 | print() 22 | 23 | var=10 24 | while var>0: 25 | var=var-1 26 | if var==5: 27 | pass 28 | print(var) 29 | 30 | def funcionQueaunNoSeQueVaHacer(): 31 | pass 32 | funcionQueaunNoSeQueVaHacer() 33 | ''' 34 | email=input("Ingresa un email:") 35 | i=0 36 | while i0: 23 | if lista[i]<= lista[i-1]: 24 | esAscendente=False 25 | break 26 | i=i+1 27 | else: 28 | esAscendente=True 29 | print("Es ascendente:",esAscendente) 30 | 31 | -------------------------------------------------------------------------------- /15-set2.py: -------------------------------------------------------------------------------- 1 | #set es una colección sin orden y sin índices, no permite elementos repetidos 2 | #y los elementos no se pueden modificar, pero si agregar nuevos o eliminar 3 | planetas = { 4 | "Marte", 5 | "Júpiter", 6 | "Venus" 7 | } 8 | print(planetas) 9 | #longitud 10 | print(len(planetas)) 11 | #revisar si un elemento está presente 12 | print("Marte" in planetas) 13 | #agregar 14 | planetas.add("Tierra") 15 | print(planetas) 16 | planetas.add("Tierra")#no se pueden agregar elementos duplicados 17 | print(planetas) 18 | #eliminar con remove posiblemente arroja excepción 19 | planetas.remove("Tierra") 20 | print(planetas) 21 | #descarta con discard no arroja excepción 22 | planetas.discard("Júpiter") 23 | print(planetas) 24 | #limpiar el set 25 | planetas.clear() 26 | print(planetas) 27 | #eliminar el set 28 | del planetas 29 | #print(planetas) 30 | 31 | -------------------------------------------------------------------------------- /02-tipos_datos.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Una variable es un espacio en memoria que puede almacenar algún tipo de dato: 3 | Número 4 | Coma flotante 5 | Texto 6 | Booleano: Falso o Verdadero 7 | Además vamos a aprender el tipado dinámico. 8 | ''' 9 | # Declaramos e imprimimos una variable de tipo numero y su tipo 10 | numero = 10 11 | print(numero) 12 | print(type(numero)) 13 | print("-------------") 14 | # Declaramos e imprimimos una variable y su tipo 15 | numero_flotante = 10.25 16 | print(numero_flotante) 17 | print(type(numero_flotante)) 18 | print("-------------") 19 | texto = "Hola mundo en Python 🐍" 20 | print (texto) 21 | print(type(texto)) 22 | print("-------------") 23 | booleano = True 24 | print (booleano) 25 | print(type(booleano)) 26 | print("-------------") 27 | suma = numero + numero_flotante 28 | print(suma) 29 | print(type(suma)) 30 | print("-------------") 31 | 32 | -------------------------------------------------------------------------------- /ejercicios/31-mayorMenor.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Mostrar los resultados. 3 | ''' 4 | #Crear una función que pida una cantidad indeterminada de números y guardarlos en una lista. 5 | def pideNumero(): 6 | lista=[] 7 | while True: 8 | n=int(input("ingresa cualquier número (0 para terminar):")) 9 | if n==0: 10 | break 11 | else: 12 | lista.append(n) 13 | return lista 14 | #Crear una función que busque el mayor y menor número de una lista. 15 | def mayorMenor(lista): 16 | mayor=0 17 | menor=999999 18 | 19 | for numero in lista: 20 | 21 | if numero>mayor: 22 | mayor=numero 23 | 24 | if numero {diccionario[lenguaje]} ") 26 | 27 | for clave,valor in {"Python":1, "Java":2, "JavaScript":3}.items(): 28 | print(f"{clave} -> {valor}") 29 | 30 | texto = "programador" 31 | for letra in texto: 32 | print("Dame una:", letra) 33 | print("Como dice:", texto) 34 | 35 | # Ejercicio 19 al 28 -------------------------------------------------------------------------------- /ejercicios/13-EmpresaDiccionario.py: -------------------------------------------------------------------------------- 1 | ''' 2 | El diccionario tendrá una lista con 3 empleados con nombre y edad. 3 | El mismo diccionario tendrá una lista de 3 de autos con marca, modelo 4 | y también cada auto tendrá 2 submodelos 5 | Accederemos a la edad del empleado número 3. 6 | Accederemos al segundo submodelo del auto número 2. 7 | ''' 8 | empresa={ 9 | 'empleados':[ 10 | {'nombre':'Maria','edad':20}, 11 | {'nombre':'Esteban','edad':30}, 12 | {'nombre':'Pepe','edad':25} 13 | ], 14 | 'autos':[ 15 | {'marca':'Ford','modelo':'f20','submodelos':['f20.01','f20.02']}, 16 | {'marca':'Nissan','modelo':'n20','submodelos':['n20.01','n20.02']}, 17 | {'marca':'Seat','modelo':'s20','submodelos':['s20.01','s20.02']} 18 | ] 19 | } 20 | print("empresa['empleados'][2]['edad']=",empresa['empleados'][2]['edad']) 21 | print("empresa['autos'][2]['submodelos'][1]=",empresa['autos'][2]['submodelos'][1]) 22 | print(empresa) -------------------------------------------------------------------------------- /ejercicios/16-RepiteNumero.py: -------------------------------------------------------------------------------- 1 | ''' 2 | En este ejercicio le mostraremos una lista de números al humano y pediremos que ingrese un número y la cantidad de veces que ese número se repite. 3 | 4 | Crearemos una tupla con números al azar y se la mostraremos al humano. 5 | Pediremos al humano que ingrese un numero de la tupla y nos diga cuantas veces se repite. 6 | Si le atina felicitamos al humano. 7 | En caso contrario reprendemos al humano. 8 | 9 | ''' 10 | tupla=(1,2,4,2,5,6,7,8,15,2,3) 11 | print(tupla) 12 | numero=int(input("Ingresa un número de la lista:")) 13 | if numero in tupla: 14 | print(f"Cuántas veces se repite el número {numero} en la lista:") 15 | repite=int(input()) 16 | seRepiteEnTupla=tupla.count(numero) 17 | if repite==seRepiteEnTupla: 18 | print("Correcto") 19 | else: 20 | print(f"El número {numero} se repite {seRepiteEnTupla} en la lista") 21 | else: 22 | print(f"El número {numero} no esta en la lista") -------------------------------------------------------------------------------- /ejercicios/29-fibonacciFunciones.py: -------------------------------------------------------------------------------- 1 | #Crear una función que pida un número mayor a 1 al humano. 2 | def pideNumero(): 3 | while True: 4 | n=int(input("Ingresa un numero mayor a 1:")) 5 | if n>1: 6 | return n 7 | 8 | #Crear una función que genere una lista fibonacci desde 1 hasta un número x. 9 | def generaFibonnaci(n): 10 | lista=[] 11 | for i in range(0,n): 12 | if i==0 or i==1: 13 | lista.append(1) 14 | else: 15 | lista.append(lista[-2]+lista[-1]) 16 | return lista 17 | #Crear una función que muestre una lista de números. 18 | def muestraLista(lista): 19 | for i in lista: 20 | if(i!=lista[-1]): 21 | print(f"{i}",end="+") 22 | else: 23 | print(f"{i}") 24 | #pide un numero humano 25 | n=pideNumero() 26 | #genera una susecion fibonacci 27 | lista=generaFibonnaci(n) 28 | muestraLista(lista) 29 | 30 | #muestraLista(generaFibonnaci(pideNumero())) -------------------------------------------------------------------------------- /18-diccionario2.py: -------------------------------------------------------------------------------- 1 | alumnos={ 2 | 1:["Eugenio", "Chaparro"], 3 | 2:["Maria", "Martinez"], 4 | 3:["Pepe", "Fernández"] 5 | } 6 | ''' 7 | print(alumnos[1]) 8 | print(alumnos[2]) 9 | print(alumnos[3]) 10 | print(alumnos[4]) 11 | ''' 12 | if 1 in alumnos: 13 | print(alumnos[1]) 14 | else: 15 | print("Alumno 1 no existe") 16 | if 2 in alumnos: 17 | print(alumnos[2]) 18 | else: 19 | print("Alumno 2 no existe") 20 | if 3 in alumnos: 21 | print(alumnos[3]) 22 | else: 23 | print("Alumno 3 no existe") 24 | if 4 in alumnos: 25 | print(alumnos[4]) 26 | else: 27 | print("Alumno 4 no existe") 28 | ''' 29 | print(alumnos.get(1,"Alumno 1 no existe")) 30 | print(alumnos.get(2,"Alumno 2 no existe")) 31 | print(alumnos.get(3,"Alumno 3 no existe")) 32 | print(alumnos.get(4,"Alumno 4 no existe")) 33 | ''' 34 | print(alumnos.keys()) 35 | print(alumnos.values()) 36 | print(alumnos.items()) 37 | print(alumnos) 38 | alumnos.clear() 39 | print(alumnos) 40 | 41 | # Ejercicio 13 -------------------------------------------------------------------------------- /25-parametros_funciones.py: -------------------------------------------------------------------------------- 1 | ''' 2 | #Parámetro con valor por defecto. 3 | def parametrosDefecto(n1, n2=20): 4 | print(f"n1={n1} y n2={n2}") 5 | #parametrosDefecto(10,15) 6 | parametrosDefecto(10) 7 | 8 | #Orden de los parámetros. 9 | def parametrosOrden(n1,n2,n3=30): 10 | print(f"n1={n1},n2={n2},n3={n3}") 11 | #parametrosOrden(10,20,40) 12 | parametrosOrden(n3=50,n2=40,n1=5) 13 | 14 | #Enviar una lista como parámetro. 15 | def listaParametro(numeros): 16 | cont=1 17 | for n in numeros: 18 | print(f"n{cont}={n}") 19 | cont+=1 20 | listaParametro([1,2.2,"Hola"]) 21 | 22 | #Enviar un diccionario como parámetro. 23 | def parametroDiccionario(numeros): 24 | print(numeros) 25 | print(f"n1={numeros['n1']} , n2={numeros['n2']}") 26 | parametroDiccionario({'n1':1,'n2':2}) 27 | ''' 28 | #Enviar un diccionario como parámetro. 29 | def parametroDiccionario2(**numeros): 30 | print(numeros) 31 | print(f"n1={numeros['n1']} , n2={numeros['n2']}") 32 | parametroDiccionario2(n1=1, n2=2) -------------------------------------------------------------------------------- /ejercicios/36-GenerarIps.py: -------------------------------------------------------------------------------- 1 | def decoradorPideBloques(generarIps): 2 | def antes(): 3 | bloque1=int(input("Ingresa el bloque 1:")) 4 | bloque2=int(input("Ingresa el bloque 2:")) 5 | bloque3=int(input("Ingresa el bloque 3:")) 6 | ini=int(input("Ingresa el rango inicial del bloque 4:")) 7 | fin=int(input("Ingresa el rango final del bloque 4:")) 8 | return bloque1,bloque2,bloque3,ini,fin 9 | def despues(ips): 10 | for ip in ips: 11 | print(ip) 12 | def integrar(*args): 13 | bloque1,bloque2,bloque3,ini,fin=antes() 14 | ips=generarIps(bloque1,bloque2,bloque3,ini,fin) 15 | despues(ips) 16 | return integrar 17 | 18 | 19 | @decoradorPideBloques 20 | def generarIps(bloque1=0,bloque2=0,bloque3=0,ini=0,fin=0): 21 | for ip in range(ini,fin+1): 22 | yield str(bloque1)+"."+str(bloque2)+"."+str(bloque3)+"."+str(ip) 23 | 24 | generarIps() 25 | 26 | ''' 27 | for ip in generarIps(192,168,1,5,10): 28 | print(ip) 29 | ''' -------------------------------------------------------------------------------- /ejercicios/15-OpreacionesConjuntos.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Crear un programa en python que tenga dos listas en las cuales eliminaremos los elementos repetidos y de los cuales obtendremos: 3 | 4 | Elementos que aparecen en las dos listas (Unión). 5 | Elementos que aparecen en la primer lista pero no en la segunda (Diferencia). 6 | Elementos que aparecen en la segunda lista pero no en la primera (Diferencia). 7 | Elementos que aparecen en Ambas listas (intersección). 8 | ''' 9 | lista1=[1,2,2,3,4,5,4,8,45,54,87,99,5] 10 | lista2=[1,2,4,6,2,4,5,2,45,22,55,77,88,99] 11 | A=set(lista1) 12 | B=set(lista2) 13 | union=A | B 14 | diferenciaAmenosB= A - B 15 | diferenciaBmenosA= B - A 16 | interseccion=A & B 17 | print("Elementos que aparecen en las dos listas (Unión).",union) 18 | print("Elementos que aparecen en la primer lista pero no en la segunda (Diferencia).",diferenciaAmenosB) 19 | print("Elementos que aparecen en la segunda lista pero no en la primera (Diferencia).",diferenciaBmenosA) 20 | print("Elementos que aparecen en Ambas listas (intersección).",interseccion) -------------------------------------------------------------------------------- /03-operadores_aritmeticos.py: -------------------------------------------------------------------------------- 1 | num1 = 5 2 | num2 = 3 3 | # Operador suma 4 | resultado = num1 + num2 5 | print("La suma es: ", resultado) 6 | # Operador resta 7 | resultado = num1 - num2 8 | print("La resta es: ", resultado) 9 | # Operador multiplicación 10 | resultado = num1 * num2 11 | print("La multiplicación es: ", resultado) 12 | # Operador división 13 | resultado = num1 / num2 14 | print("La división es: ", resultado) 15 | # Operador división parte entera 16 | resultado = num1 // num2 17 | print("La división entera es: ", resultado) 18 | # Operador módulo 19 | resultado = num1 % num2 20 | print("El modulo es: ", resultado) 21 | # Operador exponente 22 | resultado = num1 ** num2 23 | print("El exponente es: ", resultado) 24 | # Operación 25 | resultado = 3 ** 3 * (13 / (5 * 8)) 26 | # resultado = 3 ** 3 * (20.8) 27 | # r1 = ((13 / 5) * 8) 28 | # r2 = 3 ** 3 * 20.8 29 | # 3 ** 3 * 0.325 30 | # 27 * 0.325 = 8.75 31 | 32 | # 3 ** 3 * 20.8 33 | # 561.6 34 | 35 | 36 | # print("El resultado es: ", r1) 37 | # print("El resultado es: ", r2) 38 | print("El resultado es: ", resultado) -------------------------------------------------------------------------------- /24-funciones.py: -------------------------------------------------------------------------------- 1 | def bienvenida(mensaje): 2 | print(mensaje) 3 | 4 | bienvenida("Bienvenido al curso de Python") 5 | 6 | def multiplicacion(numero1: float, numero2: float): 7 | resultado = numero1 * numero2 8 | return resultado 9 | 10 | mult = multiplicacion(14.8, 4.8) 11 | print(mult) 12 | 13 | """ 14 | def suma(n1, n2): 15 | res = n1 + n2 16 | return res 17 | def resta(n1, n2): 18 | res = n1 - n2 19 | return res 20 | 21 | #print("Hola desde la funcion print soy un parametro") 22 | num1 = 10 23 | num2 = 50 24 | while True: 25 | print(f"Selecciona que deseas hacer con estos números {num1} y {num2}:\n\ 26 | 1.-Sumar\n\ 27 | 2.-Restar\n\ 28 | 3.-Salir") 29 | opcion=input() 30 | if opcion == '1': 31 | res = suma(num1, num2) 32 | print(f"El resultado es:{res} tipo:{type(res)}") 33 | elif opcion == '2': 34 | res = resta(num1, num2) 35 | print(f"El resultado es:{res} tipo:{type(res)}") 36 | elif opcion == '3': 37 | break 38 | else: 39 | print("Elije un número de las opciones") 40 | """ 41 | -------------------------------------------------------------------------------- /ejercicios/30-FuncionesMatematicas.py: -------------------------------------------------------------------------------- 1 | import os 2 | def pedirNumeros(): 3 | a=int(input("ingresa el valor de a:")) 4 | b=int(input("ingresa el valor de b:")) 5 | os.system("cls") 6 | return a,b 7 | def suma(a,b): 8 | return a+b 9 | def resta(a,b): 10 | return a-b 11 | def mul(a,b): 12 | return a*b 13 | def div(a,b): 14 | return a/b 15 | def menu(a,b): 16 | while True: 17 | print(f"Qué tipo de operacion matematica deseas realizar con {a} y {b}\n\ 18 | s para sumar\n\ 19 | r para restar\n\ 20 | m para multiplicar\n\ 21 | d para dividir\n\ 22 | x para salir:") 23 | opcion=input() 24 | if opcion=='s': 25 | print(f"Resultado es:{suma(a,b)}") 26 | if opcion=='r': 27 | print(f"Resultado es:{resta(a,b)}") 28 | if opcion=='m': 29 | print(f"Resultado es:{mul(a,b)}") 30 | if opcion=='d': 31 | print(f"Resultado es:{div(a,b)}") 32 | if opcion=='x': 33 | break 34 | input("Presione cualquier tecla") 35 | os.system("cls") 36 | a,b=pedirNumeros() 37 | menu(a,b) -------------------------------------------------------------------------------- /ejercicios/44-Archivocontador.py: -------------------------------------------------------------------------------- 1 | ''' 2 | El programa creará un archivo llamado contador.txt que almacenará un contador de visitas 3 | Si contador.txt no existe o está vacío lo crearemos con el número 0. Si existe simplemente leeremos el valor del contador. 4 | Si se envía el argumento inc, se incrementará el contador en uno y se mostrará por pantalla. 5 | Si se envía el argumento dec, se decrementará el contador en uno y se mostrará por pantalla. 6 | Si no se envía ningún argumento, se mostrará el contado. 7 | 8 | ''' 9 | import sys 10 | fichero=open("contador.txt","a+") 11 | fichero.seek(0) 12 | contenido=fichero.readline() 13 | if len(contenido)==0: 14 | contenido="0" 15 | fichero.write(contenido) 16 | fichero.close() 17 | try: 18 | contador=int(contenido) 19 | if len(sys.argv)==2: 20 | if sys.argv[1]=="inc": 21 | contador=contador+1 22 | elif sys.argv[1]=="dec": 23 | contador=contador-1 24 | print(contador) 25 | fichero=open("contador.txt","w") 26 | fichero.write(str(contador)) 27 | fichero.close() 28 | except: 29 | print("Error en archivo") 30 | -------------------------------------------------------------------------------- /17-diccionario_ej.py: -------------------------------------------------------------------------------- 1 | #un diccionario está compuesto de llave,valor (key,value) 2 | diccionario = { 3 | "IDE": "Integrated Development Environment", 4 | "OOP": "Object Oriented Programming", 5 | "DBMS": "Database Management System" 6 | } 7 | print(diccionario) 8 | #longitud 9 | print(len(diccionario)) 10 | #accediendo a un elemento 11 | print(diccionario["OOP"]) 12 | #otra forma, mismo resultado 13 | print(diccionario.get("OOP")) 14 | #modificando valores 15 | diccionario["IDE"] = "Integrated development environment" 16 | print(diccionario) 17 | #iterar 18 | for termino in diccionario: 19 | print(termino) 20 | 21 | for termino in diccionario: 22 | print(diccionario[termino]) 23 | 24 | for valor in diccionario.values(): 25 | print(valor) 26 | 27 | #comprobando existencia de un elemento 28 | print("IDE" in diccionario) 29 | 30 | #agregar nuevos elementos 31 | diccionario["PK"] = "Primary Key" 32 | print (diccionario) 33 | 34 | #remover elementos 35 | diccionario.pop("DBMS") 36 | print(diccionario) 37 | 38 | #limpiar 39 | diccionario.clear() 40 | print(diccionario) 41 | 42 | #eliminar por completo 43 | #del diccionario 44 | #print(diccionario) 45 | -------------------------------------------------------------------------------- /ejercicios/19-Escuela.py: -------------------------------------------------------------------------------- 1 | ''' 2 | En este ejercicio vamos a acceder a una lista de alumnos que tengan: 3 | nombre 4 | edad 5 | calificación 6 | 7 | Además un diccionario que tenga alumnos y maestros donde: 8 | 9 | Los alumnos tendrán: 10 | nombre 11 | edad 12 | calificación 13 | 14 | Y los maestros tendrán: 15 | nombre 16 | grado 17 | ''' 18 | alumnos=[ 19 | {"nombre":"Juan","edad":19,"calificacion":10}, 20 | {"nombre":"Maria","edad":19,"calificacion":8}, 21 | {"nombre":"Pedro","edad":20,"calificacion":9} 22 | ] 23 | #for alumno in alumnos: 24 | # print(f"Nombre:{alumno['nombre']} Edad:{alumno['edad']} Calificacion:{alumno['calificacion']}") 25 | 26 | escuela={ 27 | "alumnos":alumnos, 28 | "maestros":[ 29 | {"nombre":"Javier","grado":"Lic."}, 30 | {"nombre":"Martha","grado":"Maestria"}, 31 | {"nombre":"Pedro","grado":"Doc."}, 32 | ] 33 | } 34 | print("ALUMNOS") 35 | for alumno in escuela["alumnos"]: 36 | print(f"Nombre:{alumno['nombre']} Edad:{alumno['edad']} Calificacion:{alumno['calificacion']}") 37 | print("\nMAESTROS") 38 | for maestro in escuela["maestros"]: 39 | print(f"Nombre:{maestro['nombre']} Grado:{maestro['grado']}") 40 | 41 | print(escuela) -------------------------------------------------------------------------------- /27-burbuja.py: -------------------------------------------------------------------------------- 1 | def pedirDatos(): 2 | lista = [] 3 | while True: 4 | n = int(input("Ingresa el número que quieras (0 para terminar):")) 5 | if n == 0: 6 | return lista 7 | else: 8 | lista.append(n) 9 | return lista 10 | 11 | def burbuja(lista): 12 | cont = 0 13 | ordenado = False 14 | tamano = len(lista) 15 | comparaciones = tamano 16 | for _ in range(0,tamano): 17 | if ordenado == True: 18 | break 19 | for j in range(0,comparaciones-1): 20 | ordenado = True 21 | cont = cont+1 22 | if lista[j]>lista[j+1]: 23 | ordenado = False 24 | aux=lista[j] 25 | lista[j] = lista[j+1] 26 | lista[j+1] = aux 27 | comparaciones = comparaciones-1 28 | return lista,cont 29 | def mostrarLista(lista,cont): 30 | tam = len(lista) 31 | print(f"Lista ordenada en {cont} ciclos de forma ascendente:") 32 | for i in range(0,tam): 33 | print(f"{lista[i]}") 34 | print(f"Lista ordenada en {cont} ciclos de forma descendente:") 35 | for i in range(tam,0,-1): 36 | print(f"{lista[i-1]}") 37 | 38 | lista = pedirDatos() 39 | lista, cont = burbuja(lista) 40 | mostrarLista(lista, cont) 41 | -------------------------------------------------------------------------------- /ejercicios/35-DecoradoresOfendeHumano.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Crearemos un decorador que: 3 | Pida 2 números y que valide que sean mayores a 0. 4 | Muestre el resultado de la operación. 5 | Crear diferentes funciones matemáticas (suma, resta, multiplicacion y division) que sean validadas por el decorador 6 | ''' 7 | def ValidarDatos(operacionMatematica): 8 | #Pida 2 números y que valide que sean mayores a 0. 9 | def antes(): 10 | while True: 11 | a=int(input("por favor ingresa un número mayor a 0:")) 12 | b=int(input("por favor ingresa otro número mayor a 0:")) 13 | if a>0 and b>0: 14 | return a,b 15 | else: 16 | print("Los números no son mayores que cero") 17 | 18 | #Muestre el resultado de la operación. 19 | def despues(res): 20 | print(f"Resultado:{res}") 21 | 22 | def muestraDatos(*args): 23 | a,b=antes() 24 | res=operacionMatematica(a,b) 25 | despues(res) 26 | return muestraDatos 27 | 28 | @ValidarDatos 29 | def suma(a=0,b=0): 30 | return a+b 31 | @ValidarDatos 32 | def resta(a=0,b=0): 33 | return a-b 34 | @ValidarDatos 35 | def mul(a=0,b=0): 36 | return a*b 37 | @ValidarDatos 38 | def div(a=0,b=0): 39 | return a/b 40 | @ValidarDatos 41 | def concatenar(a=0,b=0): 42 | return str(a)+""+str(b) 43 | 44 | concatenar() -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Curso Python 2 | Banner Python 3 | 4 | ## Enlaces de interés 5 | - [Web oficial de Python](https://www.python.org/) 6 | - [Tutorial oficial de Python en Español](https://docs.python.org/es/3/tutorial/index.html) 7 | - [Aprede Python](https://aprendepython.es/) 8 | - [El libro de Python](https://ellibrodepython.com/) 9 | - [Recursos para el desarrollo con Python](https://learn.microsoft.com/es-es/windows/python/resources) 10 | - [Python para todos PY4E](https://es.py4e.com/lessons) 11 | - [Repositorio 30 días de Python](https://github.com/Asabeneh/30-Days-Of-Python) 12 | 13 | ## Slides 14 | - [Presentación](https://slides.com/davidbcaro/python-55ddbb) 15 | 16 | ## Libros de Python 17 | - [Python para todos](https://do1.dr-chuck.com/pythonlearn/ES_es/pythonlearn.pdf) 18 | - [Repositorio con lista de libros de Python gratuitos](https://github.com/pamoroso/free-python-books) 19 | 20 | ## Proyectos en Python 21 | - [Repositorio con proyectos en Python](https://github.com/geekcomputers/Python) 22 | 23 | ## Editores de Python online 24 | - [Replit](https://replit.com/new/python3) 25 | - [Programiz](https://www.programiz.com/python-programming/online-compiler/) 26 | - [W3Schools](https://www.w3schools.com/python/python_compiler.asp) 27 | - [Online Python](https://www.online-python.com/) 28 | 29 | ## Ruta como desarrollador Python 30 | - [Roadmap](https://roadmap.sh/python) 31 | 32 | -------------------------------------------------------------------------------- /trabajo2.py: -------------------------------------------------------------------------------- 1 | 2 | # Contar líneas del archivo 3 | f = open("archivo.txt", "r") 4 | cont_lineas = 0 5 | 6 | for linea in f: 7 | cont_lineas = cont_lineas + 1 8 | 9 | print("Total de líneas:", cont_lineas) 10 | 11 | 12 | # Contar palabras y caracteres del archivo 13 | g = open("archivo.txt", "r") 14 | texto = g.read() 15 | palabras = texto.split() 16 | cont_palabras = len(palabras) 17 | cont_caracteres = len(texto) 18 | print("Total de palabras:", cont_palabras) 19 | print("Total de caracteres:", cont_caracteres) 20 | 21 | 22 | # Contar veces que aparece una palabra en al archivo 23 | h = open("archivo.txt", "r") 24 | texto = h.read() 25 | texto = texto.lower() 26 | palabras = texto.split() 27 | diccionario_frecuencias = {} 28 | 29 | for palabra in palabras: 30 | if palabra in diccionario_frecuencias: 31 | diccionario_frecuencias[palabra] += 1 32 | else: 33 | diccionario_frecuencias[palabra] = 1 34 | 35 | 36 | 37 | # Escritura del archivo de salida 38 | salida = open("salida.txt", mode="w", encoding="utf-8") 39 | salida.write("Total de líneas: " + str(cont_lineas) + "\n") 40 | salida.write("Total de palabras: " + str(cont_palabras) + "\n") 41 | salida.write("Total de caracteres: " + str(cont_caracteres) + "\n") 42 | for palabra in diccionario_frecuencias: 43 | frecuencia = diccionario_frecuencias[palabra] 44 | print(f"La palabra '{palabra}' tiene una frecuencia de: {frecuencia}") 45 | salida.write(f"La palabra '{palabra}' tiene una frecuencia de: {frecuencia}\n") -------------------------------------------------------------------------------- /46-herencia.py: -------------------------------------------------------------------------------- 1 | class Persona: 2 | def __init__(self,nombre,edad): 3 | self.nombre=nombre 4 | self.edad=edad 5 | def mostrarNombre(self): 6 | print("El nombre de la PERSONA es",self.nombre) 7 | class Encargado: 8 | def __init__(self,codigoEncargado,departamento): 9 | self.codigoEncargado=codigoEncargado 10 | self.departamento=departamento 11 | 12 | class EstudianteEncargado(Persona,Encargado): 13 | def __init__(self,nombre,edad,clave,calificacion,codigoEncargado,departamento): 14 | Persona.__init__(self,nombre,edad) 15 | Encargado.__init__(self,codigoEncargado,departamento) 16 | self.clave=clave 17 | self.calificacion=calificacion 18 | self.codigoEncargado=codigoEncargado 19 | self.departamento=departamento 20 | ''' 21 | def mostrarNombre(self): 22 | print("El nombre del ESTUDIANTE-ENCARGADO es",self.nombre) 23 | ''' 24 | class Estudiante(Persona): 25 | def __init__(self,nombre,edad,clave,calificacion): 26 | Persona.__init__(self,nombre,edad) 27 | self.clave=clave 28 | self.calificacion=calificacion 29 | estudianteEncargado1=EstudianteEncargado("Juan",22,"0232",10,"0233","Sistemas") 30 | estudianteEncargado1.mostrarNombre() 31 | ''' 32 | persona1=Persona("Juan",22) 33 | persona1.mostrarNombre() 34 | ''' 35 | #print("Nombre",estudianteEncargado1.nombre,"Departamento",estudianteEncargado1.departamento) 36 | ''' 37 | juan=Persona("Juan",22) 38 | print("juan.edad",juan.edad) 39 | maria=Estudiante("Maria",23,"2222",10) 40 | print("maria clave",maria.clave) 41 | ''' -------------------------------------------------------------------------------- /ejercicios/39-ArgvMenuMat.py: -------------------------------------------------------------------------------- 1 | import sys 2 | if __name__=="__main__": 3 | tam=len(sys.argv) 4 | for argumento in sys.argv: 5 | if argumento=="-h" or argumento=="--help" or argumento=="" : 6 | print("Bienvenido al programa\ 7 | \n-h or --help: Ayuda\ 8 | \n-s or --suma: Sumar n cantidad de numeros\ 9 | \n-r or --resta: Restr n cantidad de numeros\ 10 | \n-m or --mul: Multiplicar n cantidad de numeros\ 11 | \n-d or --div: Dividir n cantidad de numeros") 12 | if argumento=="-s" or argumento=="--suma": 13 | i=2 14 | if tam>3: 15 | res=0 16 | while i3: 25 | res=0 26 | while i3: 38 | res=1 39 | while i3: 48 | res=0 49 | while i0: 29 | self.velocidad = self.velocidad-10 30 | self.__enciendeLuzFreno() 31 | def apaga(self): 32 | if self.encendido == True: 33 | self.encendido = False 34 | self.velocidad = 0 35 | self.corneta(True) 36 | #Metodos privados 37 | def __enciendeLuzFreno(self): 38 | print("Luz del freno encendida") 39 | @staticmethod 40 | def corneta(precionar=False): 41 | if precionar == True: 42 | print("La corneta suena") 43 | else: 44 | print("La corneta no suena") 45 | @classmethod 46 | def canasta(cls, peso): 47 | pesoMax=cls._ancho*10 48 | if peso 2 | Python: module 38MatematicasDoc 3 | 4 | 5 | 6 | 7 | 8 |
 
9 |  
38MatematicasDoc
index
c:\users\eugenio\documents\github\curso-python\ejercicios\38matematicasdoc.py
12 |

Este modulo realiza operaciones matematicas como sumar, restar, multiplicar y dividir

13 |

14 | 15 | 16 | 18 | 19 | 20 |
 
17 | Functions
       
div(a, b)
Esta funcion divicion los parametros a y b
21 |
mul(a, b)
Esta funcion multiplicacion los parametros a y b
22 |
resta(a, b)
Esta funcion resta los parametros a y b
23 |
suma(a, b)
Esta funcion suma los parametros a y b
24 |

25 | 26 | 27 | 29 | 30 | 31 |
 
28 | Data
       pi = 3.1416
32 | -------------------------------------------------------------------------------- /ejercicios/MatematicasDoc.html: -------------------------------------------------------------------------------- 1 | 2 | Python: module Funciones Matematicas Basicas 3 | 4 | 5 | 6 | 7 | 8 |
 
9 |  
Funciones Matematicas Basicas (version 1.0.2.3)
index
c:\users\eugenio\documents\github\curso-python\ejercicios\matematicasdoc.py
12 |

Este modulo realiza operaciones matematicas como sumar, restar, multiplicar y dividir

13 |

14 | 15 | 16 | 18 | 19 | 20 |
 
17 | Functions
       
div(a, b)
Esta funcion divicion los parametros a y b
21 |
mul(a, b)
Esta funcion multiplicacion los parametros a y b
22 |
resta(a, b)
Esta funcion resta los parametros a y b
23 |
suma(a, b)
Esta funcion suma los parametros a y b
24 |

25 | 26 | 27 | 29 | 30 | 31 |
 
28 | Data
       __copyright__ = 'Copyright Programador novato 2020'
32 | __email__ = 'info@programadornovato.com'
33 | __license__ = 'GPL'
34 | __maintainer__ = 'Eugenio Chaparro'
35 | __status__ = 'Finished'
36 | pi = 3.1416

37 | 38 | 39 | 41 | 42 | 43 |
 
40 | Author
       Yo dios
44 | --------------------------------------------------------------------------------