# 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"))
Categoría: Python
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])
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)
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)
Curso de Python
Añadimos el curso de Python a nuestro catálogo: