# Crea una función llamada area_cuadrado que tome # la longitud de un lado como argumento y devuelva el área del cuadrado. def area_cuadrado(lado): if lado<=0: return 0 return lado*lado # return lado**2 # Crea una función llamada promedio que tome tres números # como argumentos y devuelva su promedio. def promedio(num1,num2,num3): return(num1+num2+num3)/3 print(promedio(2,4,6)) # Crea una función factorial que calcule el factorial de un número entero dado. El factorial de un número n se calcula # como el producto de todos los enteros positivos desde 1 hasta n. def factorial(numero): resultado=1 for i in range(1,numero+1): resultado*=i return resultado def factorial2(numero): resultado=numero for i in range(2,numero): resultado*=i return resultado def factorial3(numero): resultado=1 for i in range(numero,1,-1): resultado*=i return resultado def factorial4(numero): for i in range(2,numero): numero*=i return numero print(factorial4(5)) # Crea una función cuenta_letras a la que le pasamos una cadena y una letra # y nos devuelva cuantas veces aparece esa letra en la cadena def cuenta_letras(cadena,letra): cont=0 # recorrer todas las letras de la cadena for caracter in cadena: # si la letra de la cadena es igual a la letra que nos pasan # contamos una aparición if caracter==letra: cont+=1 return cont print(cuenta_letras("hola que tal estas","s"))
Mes: septiembre 2023
Funciones
# funciones # Un fragmento de código que realiza algo y que se puede reutilizar # Una manera de organizar código, de simplificar flujo de programa # Tener las cosas centralizadas def saludo(nombre="Desconocido"): # parámetro nombre print("Hola",nombre,"que tal estás. Yo muy bien.") print("Es importante aprender las funciones") print("Y estudiar") saludo("Juan") print("yo no") saludo("Ana") print("Yo tampoco") saludo(15) def mayor(a,b): if (a>b): print(a) else: print(b) mayor(8,8) mayor(1,89) mayor(87,1) # PURAS # funciones # Un fragmento de código que realiza algo y que se puede reutilizar # Una manera de organizar código, de simplificar flujo de programa # Tener las cosas centralizadas # Esto sí es una función pura def saludo(nombre="Desconocido"): # parámetro nombre return "Hola "+nombre+" que tal estás. Yo muy bien." # return nos sirve para devolver algo resultado=saludo("Juan") print(resultado) # Funciones puras # es una caja negra. Le paso parámetros y me devuelve resultados # Sin interactuar con el entorno def mayor(a,b): if (a>b): return a else: return b num=mayor(23,232) # Un programa que sume una lista de numeros solo si son pares def es_par(numero): return numero % 2 == 0 def sumaPares(lista): total = 0 for numero in lista: if es_par(numero): # ¿Por qué utilizar una función? total += numero return total lista=[1,2,3,4,5,6] print(sumaPares(lista)) # Crear una función que le pasemos tres numeros y nos devuelva el mayor # el def y el nombre # parametros # codigo que resuelve el problema # devolver el resultado # probar def mayor(a,b,c): if a>=b and a>=c: return a if b>=a and b>=c: return b return c print(mayor(10,200,200))
Bucles anidados
# pintar un arbolito for i in range(5): for j in range(i + 1): print("*", end=" ") print() # Todas las tablas de multiplicaar for j in range(1,11): print("Tabla de multiplicar del ",j) for i in range(1,11): print(f"{i} x {j} = {i*j}") # Todos los números primos hasta el 100 for numero in range(2,100): es_primo=True for i in range(2,numero): if (numero % i==0): es_primo=False break if es_primo: print(numero, end=", ") for i in range(2,20): numero=i while numero!=1: # Si el número es par (numero %2==0) dividirlo entre 2 print(numero,end=", ") if numero%2==0: numero//=2 # numero=int(numero/2) # Si el número es impar multiplicarlo por 3 y sumarle 1 else: numero=numero*3+1 # lo imprimo print(1)
Soluciones ejercicio
# Pedir al usuario un número numero=int(input("Introduce un número")) # Hacemos un proceso hasta que el número sea 1 # Cuando sea uno hemos acabado while numero!=1: # Si el número es par (numero %2==0) dividirlo entre 2 print(numero,end=", ") if numero%2==0: numero//=2 # numero=int(numero/2) # Si el número es impar multiplicarlo por 3 y sumarle 1 else: numero=numero*3+1 # lo imprimo print(1) # Pedir al usuario un número numero=int(input("Introduce un número")) # Hacemos un proceso hasta que el número sea 1 # Cuando sea uno hemos acabado cadena=str(numero)+", " while numero!=1: # Si el número es par (numero %2==0) dividirlo entre 2 if numero%2==0: numero//=2 # numero=int(numero/2) # Si el número es impar multiplicarlo por 3 y sumarle 1 else: numero=numero*3+1 cadena+=str(numero)+", " # lo imprimo print(cadena[:-2])
Respuestas ejercicios
"""Crea un programa que recorra una cadena de caracteres y cuente cuántas veces aparece la letra “a” en la cadena.""" # Pensar en una manera de resolverlo # voy letra por letra y si encuentro una a la cuento # Si una letra es una a contar uno más cadena=input("Introduce una cadena ") contador=0 # recorrer las letras de una cadena -> resuelto for letra in cadena: print(letra) # Si una letra es una a contar uno más ->resuelto if letra=="a": contador+=1 print(f"Hay {contador} aes en la cadena") """Desarrolla un programa que recorra un rango de números del 1 al 10 y muestre el cuadrado de cada número en una línea separada.""" # recorrer los números del 1 al 10 -> resuelto # saber el cuadrado de un número -> resuelto for numero in range(1,11): print(numero*numero) print(numero**2) """Crea un programa que pida números positivos al usuario y nos diga después cual es el número mayor y el menor. Hasta que pnga cero.""" numero=int(input("Introduce número ")) mayor=numero menor=numero # como hago yo un bucle hasta que el usuario me de 0 -> resuelto while numero!=0: # si el numero que me dan es mayor que el que tengo lo cambio numero = int(input("Introduce número ")) if numero!=0: if numero>mayor: mayor=numero if numero<menor: menor=numero print("El numero mayor que me has dicho es el ",mayor) print("El numero menor que me has dicho es el ",menor) """Crea un programa que solicite al usuario un número entero positivo y luego muestre una cuenta regresiva desde ese número hasta 1. Por ejemplo, si el usuario ingresa 5, el programa debe mostrar “5, 4, 3, 2, 1”.""" # pedir un número # bucle desde el número hasta el 1 numero=int(input("Introduce un número ")) """ while numero>0: print(numero) numero-=1 """ for i in range(numero,0,-1): print(i) """Un programa que le pida al usuario un número y nos imprima su factorial . El factorial de 5 es 5*4*3*2*1.""" numero=int(input("Introduce un número ")) factorial=1 for i in range(numero,0,-1): factorial*=i print(factorial) """Un programa que pida al usuario un número y nos imprima su tabla de multiplicar""" numero=int(input("Introduce un número ")) # recorrer los numeros del 1 al 10 -> resuelto for i in range(1,11): print(f"{i} x {numero} = {i*numero}") # print(i," x ",numero, " = ",i*numero) """Pedir al usuario un número y decir si es primo o no""" # ¿Qué es un número primo: solo es divisible por el mismo y la unidad # recorrer todos los números desde el 1 hasta el propio número -> solucionado # y voy a ver si es divisible por alguno # si es divisible no es primo # Si no hay ninguno sí que es primo numero=int(input("Numero ")) esprimo=True for i in range(2,numero): if numero % i==0: # que sí que es divisible y por lo tanto NO ES PriMO esprimo=False break if esprimo: print("El número es primo") else: print("El número no es primo")
Códigos while y for
# bucle while ejecuta mientras se cumpla una condicion cont=1 numero=7 print(f"Tabla de multiplicar del {numero}") while cont<=10: print(f"{cont} x {numero} = {cont*numero}") # Dentro del bucle while tengo que modificar algo de la condicion cont+=1 total=0 num=int(input("Introduce un numero (0 para salir) ")) while num!=0: total+=num num = int(input("Introduce un numero (0 para salir) ")) print("La suma total es",total) import random numero_secreto = random.randint(1, 100) print(numero_secreto) intentos = 0 intento=0 while intento != numero_secreto: intento = int(input("Intenta adivinar el número (entre 1 y 100): ")) if intento<1 or intento>100: print('ERROR: Numeros entre 1 y 100') continue # Sáltate el resto de líneas y vuelve al principio intentos += 1 if intento == numero_secreto: print(f"Felicitaciones, ¡adivinaste el número {numero_secreto} en {intentos} intentos!") break # Sal del bucle elif intento>numero_secreto-5 and intento<numero_secreto+5: print("Estás cerca") elif intento < numero_secreto: print("El número es mayor. Intenta de nuevo.") else: print("El número es menor. Intenta de nuevo.") lista=[1,2,3,4,5,6,7] for elemento in lista: print(elemento) alumnos=["Ana","Juan","Eva","Pep"] for alumno in alumnos: print(alumno) cant="hola que tal" for n in cant: print(n) for i in range(len(alumnos)): print(alumnos[i]) for i in range(1,6): print(i) for i in range(1, 6,2): print(i) """Escribe un programa que recorra una lista de números y calcule la suma de todos los números pares en la lista. También la media """ lista=[1,2,3,4,5,6,7,100,90,3] suma=0 cont=0 for elemento in lista: print(elemento) if elemento%2==0: suma+=elemento cont+=1 print("Total",suma) print("Media",suma/cont)
Soluciones if
"""Desarrolla un programa que pida al usuario un número entero y determine si es par o impar. Si es par, muestra “Es un número par”, si es impar, muestra “Es un número impar”.""" numero=int(input("Introduce un número")) if numero%2==0: print("par") else: print ("impar") """Escribe un programa que solicite al usuario su calificación en un examen y determine si ha aprobado o reprobado. Si la calificación es igual o superior a 60, muestra “Aprobado”, de lo contrario, muestra “Reprobado”.""" calificacion=float(input("Introduce nota")) if calificacion>=60: print("Aprobado") else: print("Reprobado") """Desarrolla un programa que pida al usuario dos números enteros y determine si al menos uno de ellos es positivo y par. Si alguna de estas condiciones se cumple, muestra “Al menos uno de los números es positivo y par”, de lo contrario, muestra “Ninguno de los números cumple con las condiciones”.""" a=int(input("Introduce numero 1 ")) b=int(input("Introduce numero 2 ")) # NO hace falta paréntesis if (a%2==0 and a>0) or (b%2==0 and b>0): print("Positivo y par") else: print("No positivo y par")
Código de hoy: if
edad = 17 if edad >= 18: print("Eres mayor de edad.") else: print("Eres menor de edad") """ if edad<18: print("Eres menor de edad") print("Por lo tanto no puedes entrar a la discoteca") print("Cuando crezcas") if edad==17: print("Te falta poco") """ print("fin de programa") sueldo=5000 if sueldo>600 and sueldo<1500: print('Sueldo bajo') elif sueldo<3000: print('Sueldo medio') else: print('Sueldo alto') # Pido un sueldo y a) compruebo que sea legal # b) si es menor de 2000 aplico un 15% de irpf # c) si es mayor aplico un 25% sueldo=int(input("introduce tu sueldo ")) if sueldo<1000: print('Sueldo ilegal') else: print('Sueldo correcto. El sueldo neto es', end=' ') if sueldo<2000: print(sueldo*.85) else: print(sueldo*.75) print('Enhorabuena') print('Campeón') print('Donde estoy?') # Cuando el sueldo >=1000 print('Y yo?') # Siempre porque está sin ningún margen edad = 25 tiene_licencia = False # Combinación de condiciones con 'and' if edad >= 18 and tiene_licencia: print("Puede conducir un automóvil.") else: print("No puede conducir un automóvil.") es_estudiante = False es_empleado = False # Combinación de condiciones con 'or' if es_estudiante or es_empleado: print("Es estudiante o empleado.") else: print("No es estudiante ni empleado.")"""Escribe un programa que solicite al usuario su edad y determine si es menor o igual a 18 años. Si es menor o igual a 18 años, muestra el mensaje “Eres menor de edad”, de lo contrario, muestra “Eres mayor de edad”.""" # Solicitar edad al usuario edad=int(input("Introduce tu edad")) # Comprobar si es menor o igual a 18 y en ese caso imprimir menor if edad<=18: print("Eres menor de edad") # Caso contrario imprimir mayor else: print("Eres mayor de edad") """Crea un programa que pida al usuario dos números y determine cuál es el mayor de los dos números. Si son iguales, muestra un mensaje que indique que los números son iguales.""" # Pedir dos numeros a=int(input("Introduce el primer numero")) b=int(input("Introduce el segundo numero")) print(a,b) # decir cual es el mayor if a>b: print('El mayor es el primero') if b>a: print('El mayor es el segundo') # Si son iguales decir que son iguales if a==b: print('Son iguales') if a>b: print('El mayor es el primero') elif b>a: print('El mayor es el segundo') else: print('Son iguales') if a==b: print('Son iguales') elif b>a: print('El mayor es el segundo') else: print('El mayor es el primero') # Pedir un usuario y un password y si son 1234 1234 acceder usuario=input("Introduce el usuario") password=input("Introduce el password") if usuario=='1234' and password=='1234': print ("P'alante") else: print('No puedes entrar')
Solución ejercicios
"""Escribe un programa que tome una entrada del usuario como una cadena que represente un número entero, conviértela a un entero y luego multiplique ese número por 2. Finalmente, muestra el resultado.""" # pido un número numero=input("Introduce un numero") # lo convierto a entero int_numero=int(numero) # lo multiplico int_numero=int_numero*2 # lo muestro print(int_numero) numero=int(input("numero")) print(numero*2) print(int(input("numero"))*2) """Crea un programa que tome un número decimal como entrada del usuario (por ejemplo, 3.14) y conviértelo en un entero. Luego, muestra el número entero resultante.""" numero=input("Dame un numero decimal") dec_numero=float(numero) int_numero=int(dec_numero) print(int_numero) print(int(float(input("Numero decimal")))) """Escribe un programa que tome una cadena de caracteres que represente “True” o “False” (en minúsculas o mayúsculas) como entrada del usuario, conviértela a un valor booleano y luego muestre la variable resultante.""" variable=input("Dame true o false") bool_variable=variable=='True' print(bool_variable)
Código Básico Python
# variables # Importante: Sensibles a mayúsculas y minúsculas # Numéricas num_entero=900 num_flotante=9.5 numEntero=90 print(num_entero) print(num_flotante) # Cadena nombre="Ana" apellidos='Pi' print(nombre,apellidos) # Booleanas cierto=True falso=False print(cierto) nombre=input("Introduce tu nombre") # Que no haga salto de línea al imprimir print('hola', nombre, end=' ') # Cadena con formato print(f" Hola que tal estamos") print(f"Hola {nombre} ¿Qué tal estás?") # Cambiar el separador por defecto print("hola","que","tal") print("hola","que","tal",sep="|") print('hola',nombre,sep=' - ') print(1,2,3,4,5,6,sep=' , ') edad=input("Dime tu edad") nombre="Ana" sueldo=1000 iva=.21 precio=100*iva tuedad=int(edad) mayor_edad=tuedad>=18 print("Dentro de 10 años tendrás",tuedad+10) a = 10 b = 7 print(a + b) print(a / b) ## Ejemplo de los coches: si tengo 10 coches a repartir entre 7 personas ## Le toca un coche a cada uno (divisón entera //) ## Y sobran 3 (módulo %) print(a // b) print(a % b) numero = 9 print(numero % 2) numero = 4 print(numero % 2) # 2 elevado a 4 print(2 ** 4) numero = numero + 5 print(numero) numero += 5 print(numero) mayordeedad=True dinero=False print(mayordeedad and dinero) print(mayordeedad or dinero) print(not dinero)