Ejemplos print


nombre="Ana"
edad=64
email="ana@ana.com"

print(nombre,edad,email)

print(nombre,edad,email,sep=",")
print(nombre,edad,email,sep="  😁😍🎶  ")

print("-"*30)

print(nombre,end=" ")
print(edad,end=" ")
print(email,end=" ")

coeficiente=0.12345

print(f"el coeficiente es {coeficiente}")

print(f"el coeficiente es {coeficiente:.1f}")

print(f"el coeficiente es {coeficiente:.3f}")

print(f"el coeficiente es {coeficiente:.0%}")

print(f"el coeficiente es {coeficiente:.2%}")

# Escape

print("Hola \"listillo\"")

print("Jotapé\nC\\Agla 6\n08001 BCN")

print("La ruta es c:\\temp")

Soluciones variables

# Ejercicios de python - Variables
#
# 🟢 Ejercicio 1: Datos personales
# Crea variables para:
# nombre
# edad
# ciudad
# Luego muestra una frase como:
# Hola, me llamo ___, tengo ___ años y vivo en ___.
#
from ejercicios_variables import celsius

nombre='Jotapé'
edad=27
ciudad="Logroño"

print(f"Hola, me llamo {nombre}, tengo {edad} y vivo en {ciudad}")
print("Hola, me llamo",nombre,", tengo",edad,"y vivo en ",ciudad)
#
# 🟢 Ejercicio 2: Suma de dos números
# Crea dos variables numéricas
# Guarda su suma en una tercera variable
# Muestra el resultado
# 👉 Extra: haz también resta y multiplicación
#
a=15
b=78
suma=a+b
resta=a-b
multiplicacion=a*b
print(suma,resta,multiplicacion)

# 🟢 Ejercicio 3: Conversión de unidades
# Convierte grados Celsius a Fahrenheit:
# Fórmula:
# F = C * 9/5 + 32
#
# Crea una variable celsius
# Calcula fahrenheit
# Muestra el resultado
#

celsius=100
fahrenheit=(celsius*9/5)+32
print(celsius,fahrenheit)

# 🟢 Ejercicio 4: Precio total con IVA
# Crea una variable con el precio de un producto
# Crea otra con el IVA (por ejemplo 21%)
# Calcula el precio final
# 👉 Fórmula:
# total = precio + (precio * iva)
#
precio=1000
iva=0.21
total=precio+(precio*iva)
print(total)

#
# 🟢 Ejercicio 5: Tiempo total en segundos
# Convierte:
# horas
# minutos
# segundos
# a un total en segundos
# 👉 Fórmula:
# total_segundos = horas * 3600 + minutos * 60 + segundos
#

horas=10
minutos=10
segundos=10

total_segundos = horas * 3600 + minutos * 60 + segundos

print(total_segundos)
#  Calculadora de precio con descuento
# Una tienda tiene un producto con un precio base. Guarda el precio en una variable y
# el porcentaje de descuento en otra. Calcula el precio final después de aplicar el descuento
# y muéstralo.

precio_base=2000
descuento=0.1
precio_final=precio_base-descuento*precio_base
print(precio_final)

# Reparto de una cuenta de restaurante
# Tres amigos van a un restaurante. La cuenta total es 74.50 €. Guarda la cuenta en una variable
# y el número de comensales en otra. Calcula cuánto paga cada uno y cuánto es la propina
# si dejan un 10% extra entre todos
#
cuenta=74.50
comensales=3
importe=cuenta/comensales
print(importe)
propina=0.1
total_propina=cuenta*propina
print(total_propina)
print(total_propina/comensales)

Ejemplos variables python


# Enteros

edad=40

sueldo=900000

saldo_banco=-250

socios=27

print(edad)

print(sueldo)

print(saldo_banco)

print(socios)

print(type(edad))

# Decimales

nota=8.5

altura=17.6

coeficiente= -2.3

print(nota)
print(altura)
print(coeficiente)
print(type(nota))

print(.1+.2)

# cadenas

nombre="Ana Pi"

calle="C/ Aglá, 14"

email='ana@ana.com'

print(nombre)
print(calle)
print(email)
print(type(nombre))

poblacion="L'hospitalet de llobregat"
poblacion='L\'hospitalet de llobregat' # el '\' (slash) es carácter de escape

# remitente=("Jota Pé"
#            "Calle del Pi 14"
#            "08001 Barcelona")
remitente="""
Jota Pé
Calle del Pi 14
08001 Barcelona"""

print(remitente)

# concatenar

cp="08001"

ciudad="Barcelona"

linea_direccion=cp+" "+ciudad
print(linea_direccion)

cadena="Python"*15
print(cadena)
print(len(cadena))

prueba="  Ana  Garcia  "
print(len(prueba))

# Booleanos

mayor_edad=True

deudas=False

print(mayor_edad)
print(deudas)
print(type(mayor_edad))

edad=15

mayor_edad= edad>=18
print(mayor_edad)



# Cread una variable sueldo_mensual con valor de 1500
# Cread una variable sueldo_anual que sea ese valor * 12
# Imprimidlas

sueldo_mensual=1500
sueldo_anual=sueldo_mensual*12

print(sueldo_mensual,sueldo_anual)

# Cread una variable telefono con 666 999 666
# cread una variable email con ana@ana.com
# Cread una variable contacto con las dos variables concatenadas e imprimidlas

telefono="666 999 666"
email="ana@ana.com"
contacto=telefono+" - "+email

print(contacto)

# Para cracks ¿Cómo podría hacer una cadena de guiones con la misma longitud que contacto?

guiones="-"*len(contacto)

print(guiones)

# Ejemplos de cadenas f
from practica_datos import sueldo_mensual

alumno="Ana Pi"

nota=6

print(f'El alumno {alumno} ha sacado un {nota}')

sueldo_mensual=2000

print(f'El sueldo mensual es {sueldo_mensual} y el anual es {sueldo_mensual*12}')

# Esto no hacer

a=20
print(a,type(a))

a="hola que tal"

print(a,type(a))

a=9.5
print(a,type(a))
a=False
print(a,type(a))

edad="22"
edad=int(edad) # Convirtiendo de cadena a entero
print(edad+1)

nota=8
print("Tu nota es "+str(nota))
print(f'Tu nota es {nota}')

Ejercicios repaso examen

# función a la que le pasamos una lista de números y nos devuelve una tupla
# con el número de pares y el número de impares
# contarParidad([1,2,3,4,5])->(2,3) (dos pares y tres impares)

def contarParidad(lista):
    pares = 0
    impares = 0
    for numero in lista:
        if numero % 2 == 0:
            pares += 1
        else:
            impares += 1
    return (pares, impares)


def contarParidad2(lista):
    pares = len([numero for numero in lista if numero % 2 == 0])
    return (pares, len(lista) - pares)


print(contarParidad([1, 2, 3, 4, 5]))
print(contarParidad2([1, 2, 3, 4, 5]))
concesionario = [{"marca": "Tesla", "tipo": "Electrico", "autonomía": 500, "precio": 40000},
                 {"marca": "Citroen", "tipo": "Gasolina", "autonomía": 2500, "precio": 10000},
                 {"marca": "Ford", "tipo": "Gasolina", "autonomía": 3500, "precio": 20000},
                 {"marca": "Ferrari", "tipo": "Gasolina", "autonomía": 5500, "precio": 120000},
                 {"marca": "Seat", "tipo": "Electrico", "autonomía": 700, "precio": 10000},
                 {"marca": "Skoda", "tipo": "Gasolina", "autonomía": 3500, "precio": 7000},
                 ]

# Cread una función que nos devuelva la suma de precios del concesionario
def sumaPrecios(concesionario):
    total=0
    for coche in concesionario:
        total+=coche["precio"]
    return total

def sumaPrecios2(concesionario):
    return sum([coche["precio"] for coche in concesionario])
print(sumaPrecios(concesionario))
print(sumaPrecios2(concesionario))
# Cread una función a la que le pasamos una cadena y una longitud y nos devuelve las cadenas
# que superan esa longitud
# masLargas("hola que tal vamos",3)->["hola","vamos"]

def masLargas(cadena, longitud):
    palabras=cadena.split(" ")
    resultado=[]
    for palabra in palabras:
        if len(palabra)>longitud:
            resultado.append(palabra)
    return resultado

def masLargas2(cadena, longitud):
    palabras=cadena.split(" ")
    return [palabra for palabra in palabras if len(palabra)>longitud]

print(masLargas("hola que tal vamos",3))
print(masLargas2("hola que tal vamos",3))


Repaso examen tipo

# corregir código

def factorial(numero):
    total = 1
    while numero > 1:
        total *= numero
        numero -= 1
    return total


print(factorial(5))  # 120 5*4*3*2*1


def palabraMaslarga(cadena):
    palabras = cadena.split(" ")
    masLarga = palabras[0]  # Aquí NO hay un error
    for palabra in palabras:
        if len(palabra) > len(masLarga):  # Aquí hay un error (al revés)
            masLarga = palabra  # Aquí hay un error
    return masLarga


def numeroMayor(lista):
    mayor = lista[0]
    for numero in lista:
        if numero > mayor:  # Aquí hay un error (al revés)
            mayor = numero  # Aquí hay un error
    return mayor


print(palabraMaslarga("En un lugar de la mancha de cuyo nombre no quiero acordarme"))
print(numeroMayor([1, 2, 3, 7, 6, 5, 2]))
print(numeroMayor([-5, -2, -17 - 3]))


# Cread una función porcentajeIva que nos devuelva:
# 0 si el producto es "primera necesidad"
# 4 si es 'libro' o 'revista'
# 10 si es 'pañales'
# 21 en otros casos
def porcentajeIva(producto):
    if producto == "primera necesidad":
        return 0
    elif producto == "libro" or producto == "revista":
        return 4
    elif producto == "pañales":
        return 10
    else:
        return 21


print(porcentajeIva("primera necesidad"))
print(porcentajeIva("libro"))
print(porcentajeIva("revista"))
print(porcentajeIva("pañales"))
print(porcentajeIva("cacahuetes"))


# define una función a la que le pasamos una cadena y nos dice la media de longitud
# de las palabras de la cadena
def mediaLongitud(cadena):
    palabras = cadena.split(" ")
    longitudTotal = 0
    for palabra in palabras:
        longitudTotal += len(palabra)
    return longitudTotal / len(palabras)


def mediaLongitud2(cadena):
    palabras = cadena.split(" ")
    longitudes = [len(palabra) for palabra in palabras]
    return sum(longitudes) / len(palabras)


print(mediaLongitud("aa bbbb ccc"))
print(mediaLongitud2("aa bbbb ccc"))


# Una función números pares a la que le pasamos una lista de números y nos devuelve los pares

def numerosPares(lista):
    resultado = []
    for numero in lista:
        if numero % 2 == 0:
            resultado.append(numero)
    return resultado


def numerosPares2(lista):
    return [numero for numero in lista if numero % 2 == 0]


print(numerosPares([1, 2, 3, 4, 5, 6, 7, 8]))
print(numerosPares2([1, 2, 3, 4, 5, 6, 7, 8]))

clase = [{
    "nombre": "Ana",
    "creditos": 15,
    "curso": "Python"
}, {
    "nombre": "Iu",
    "creditos": 5,
    "curso": "Python"
}, {
    "nombre": "Eva",
    "creditos": 25,
    "curso": "BBDD"
}, {
    "nombre": "Pep",
    "creditos": 7,
    "curso": "BBDD"
}, ]


# Crea una función a la que le pasamos una clase y nos devuelve el total de créditos
def totalCreditos(clase):
    total = 0
    for alumno in clase:
        total += alumno['creditos']
    return total


def totalCreditos2(clase):
    total = sum([alumno['creditos'] for alumno in clase])
    return total


def totalCreditosCurso(clase, curso):
    total = 0
    for alumno in clase:
        if alumno['curso'] == curso:
            total += alumno['creditos']
    return total


def totalCreditosCurso2(clase, curso):
    total = sum([alumno['creditos'] for alumno in clase if alumno['curso'] == curso])
    return total


print(totalCreditos(clase))
print(totalCreditos2(clase))
print(totalCreditosCurso(clase, "BBDD"))
print(totalCreditosCurso2(clase, "BBDD"))


# ordenar los alumnos por crédito

def ordenCredito(clase):
    ordenados = sorted(clase, key=lambda x: x['creditos'])
    return ordenados


def ordenarCredito(clase):
    ordenados = sorted([alumno['creditos'] for alumno in clase])
    return ordenados


def mayorCredito(clase):
    mayor = max(clase, key=lambda x: x['creditos'])
    return mayor


def mayorCredito2(clase):
    mayor = max([alumno['creditos'] for alumno in clase])
    return mayor


print(ordenCredito(clase))
print(ordenarCredito(clase))
print(mayorCredito(clase))
print(mayorCredito2(clase))


# Cread una función a la que le pasamos una cadena y una letra y nos devueve una
# lista con las palabras que tienen esa letra

def palabrasConLetra(cadena, letra):
    palabras = cadena.split(" ")
    resultado = []
    for palabra in palabras:
        if letra in palabra:
            resultado.append(palabra)
    return resultado


def palabrasConLetra2(cadena, letra):
    palabras = cadena.split(" ")
    return [palabra for palabra in palabras if letra in palabra]


print(palabrasConLetra("hola que tal yo mal", "a"))
print(palabrasConLetra2("hola que tal yo mal", "a"))


# Una función a la que le pasamos una cadena y nos devuelve una lista
# con la primera letra de cada palabra

def primeraLetra(cadena):
    palabras = cadena.split(" ")
    resultado = []
    for palabra in palabras:
        resultado.append(palabra[0])
    return resultado


def primeraLetra2(cadena):
    palabras = cadena.split(" ")
    return [palabra[0] for palabra in palabras]


print(primeraLetra("hola que tal yo muy bien"))
print(primeraLetra2("hola que tal yo muy bien"))

# Cread una función a la que le pasamos una cadena y nos devuelve una lista de palabras
# que empiecen y acaben con la misma letra
def inicioFin(cadena):
    palabras = cadena.split(" ")
    resultado=[]
    for palabra in palabras:
        if palabra[0]==palabra[-1]:
            resultado.append(palabra)
    return resultado

def inicioFin2(cadena):
    palabras = cadena.split(" ")
    return [palabra for palabra in palabras if palabra[0]==palabra[-1]]

print(inicioFin("hola ana como sales tan pronto"))
print(inicioFin2("hola ana como sales tan pronto"))


Soluciones ejercicios

import datetime
import random


# Cread una función tiradaDado que nos devuelva un número aleatorio del 1 al 6

def tiradaDado(limite=6):
    return random.randint(1, limite)


for i in range(10):
    print(tiradaDado())


# Cread una función que nos devuelva al azar una provincia de Barcelona
def provinciaAzar():
    provincias = ["Barcelona", "Tarragona", "Lleida", "Girona"]
    return random.choice(provincias)


for i in range(10):
    print(provinciaAzar())


# Cread una función que nos devuelva el año actual
def anyoActual():
    return datetime.date.today().year


print(anyoActual())


# Cread una función que nos devuelva True si hoy es viernes y false en caso contrario
def esViernes():
    return datetime.date.today().weekday() == 4  # 0 lunes hasta 6 domingo


print(esViernes())


# Cread una función que nos devuelva la fecha actual en formato día/mes/año

def fechaActual():
    return datetime.date.today().strftime("%d/%m/%Y")


print(fechaActual())


# Cread una función que nos devuelva el siguiente día laborable a partir de hoy
def siguienteLaborable():
    fecha = datetime.date.today()
    fecha += datetime.timedelta(days=1)
    while fecha.weekday() > 4:
        fecha += datetime.timedelta(days=1)
    return fecha


def siguienteLaborable2():
    fecha = datetime.date.today()
    fecha += datetime.timedelta(days=1)
    if fecha.weekday() > 4:
        fecha += datetime.timedelta(days=(7 - fecha.weekday()))
    return fecha


print(siguienteLaborable2())

Sesiones virtuales

SESIÓN VIRTUAL (10-04-2025 18_00_00)-20250410_180338-Grabación de la reunión.mp4

SESIÓN VIRTUAL (16-04-2025 18_00_00)-20250416_180432-Grabación de la reunión.mp4

SESIÓN VIRTUAL (22-04-2025 18_00_00)-20250422_180529-Grabación de la reunión.mp4

SESIÓN VIRTUAL (24-04-2025 18_00_00)-20250424_180332-Grabación de la reunión.mp4

SESIÓN VIRTUAL (25-04-2025 18_00_00)-20250425_180447-Grabación de la reunión.mp4

SESIÓN VIRTUAL (29-04-2025 18_00_00)-20250429_180841-Grabación de la reunión.mp4

SESIÓN VIRTUAL (30-04-2025 18_00_00)-20250430_180856-Grabación de la reunión.mp4

SESIÓN VIRTUAL (02-05-2025 18_00_00)-20250502_180552-Grabación de la reunión.mp4

SESIÓN VIRTUAL (05-05-2025 18_00_00)-20250505_180717-Grabación de la reunión.mp4

SESIÓN VIRTUAL (06-05-2025 18_00_00)-20250506_180919-Grabación de la reunión.mp4

SESIÓN VIRTUAL (07-05-2025 18_00_00)-20250507_181546-Grabación de la reunión.mp4

SESIÓN VIRTUAL (08-05-2025 18_00_00)-20250508_180607-Grabación de la reunión.mp4

SESIÓN VIRTUAL (09-05-2025 18_00_00)-20250509_181432-Grabación de la reunión.mp4

Ejercicios funciones

# Cread una función tiradaDado que nos devuelva un número aleatorio del 1 al 6

# Cread una función que nos devuelva al azar una provincia de Cataluña

# Cread una función que nos devuelva el año actual

# Cread una función que nos devuelva True si hoy es viernes y false en caso contrario

# Cread una función que nos devuelva la fecha actual en formato día/mes/año

# Cread una función que nos devuelva el siguiente día laborable a partir de hoy

Soluciones ejercicios lambda

biblioteca = [
    {"titulo": "El Quijote", "autor": "Cervantes", "precio": 20},
    {"titulo": "Las olas", "autor": "Virginia Woolf", "precio": 17},
    {"titulo": "Los detectives salvajes", "autor": "Roberto Bolaño", "precio": 23},
    {"titulo": "Tom va a la escuela", "autor": "Rick Sánchez", "precio": 10}
]

# Para resolver los siguientes ejercicios podéis usar cualquier método de los vistos en clase

# Calcular la suma de todos los precios

# obtener precio
# Haciendo el bucle de toda la vida y sumando los precios
suma = 0
for libro in biblioteca:
    suma += libro["precio"]
print(suma)
# Comprension de listas obteniendo solo el precio, entonces ya puedo usar 'sum'
precios = [libro["precio"] for libro in biblioteca]
print(sum(precios))
# Obteniendo los precios mediante el 'map' y una función lambda, después puedo usar 'sum'
precios = list(map(lambda x: x["precio"], biblioteca))
print(sum(precios))

# Queremos obtener el libro con el precio más alto
# Método tradicional con un for nos guardamos el más caro 'de momento'
libroCaro = None
precio = 0
for libro in biblioteca:
    # Si encontramos uno más caro nos lo quedamos
    if libro["precio"] > precio:
        precio = libro["precio"]
        libroCaro = libro
print(libroCaro)

# Usar max junto con lambda para que busque el máximo de la propiedad 'precio'
libroCaro = max(biblioteca, key=lambda x: x["precio"])
print(libroCaro)

# queremos ordenarlos por título

# Ordenamos mediante título usando una lambda
librosPorTitulo = sorted(biblioteca, key=lambda x: x["titulo"])
print(librosPorTitulo)

proyectos = [
    {"nombre": "Análisis", "horas": 10, "precio": 60},
    {"nombre": "Desarrollo", "horas": 50, "precio": 50},
    {"nombre": "Implementación", "horas": 5, "precio": 70},
    {"nombre": "Pruebas", "horas": 15, "precio": 40},
]

# Queremos calcular el coste total de todos los proyectos (horas*precio)

total = 0
for proyecto in proyectos:
    total += proyecto["horas"] * proyecto["precio"]
print(total)

importes = [proyecto["horas"] * proyecto["precio"] for proyecto in proyectos]
print(sum(importes))
importes = list(map(lambda x: x["precio"] * x["horas"], proyectos))
print(sum(importes))

# El proyecto con mayor coste (horas*precio)
mayorCoste = max(proyectos, key=lambda proyecto: proyecto["precio"] * proyecto["horas"])
print(mayorCoste)
# ordenar por número de horas
porHoras = sorted(proyectos, key=lambda x: x["horas"])
print(porHoras)
# Filtrar los que cuesten más 1000 €

caros = [proyecto for proyecto in proyectos if proyecto["horas"] * proyecto["precio"] > 1000]
print(caros)
caros = list(filter(lambda x: x["horas"] * x["precio"] > 1000, proyectos))
print(caros)

Ejercicios lambda

biblioteca = [
    {"titulo": "El Quijote", "autor": "Cervantes", "precio": 20},
    {"titulo": "Las olas", "autor": "Virginia Woolf", "precio": 17},
    {"titulo": "Los detectives salvajes", "autor": "Roberto Bolaño", "precio": 23},
    {"titulo": "Tom va a la escuela", "autor": "Rick Sánchez", "precio": 10}
]

# Para resolver los siguientes ejercicios podéis usar cualquier método de los vistos en clase

# Calcular la suma de todos los precios

# Queremos obtener el libro con el precio más alto

# queremos ordenarlos por título

proyecto = [
    {"nombre": "Análisis", "horas": 10, "precio": 60},
    {"nombre": "Desarrollo", "horas": 50, "precio": 50},
    {"nombre": "Implementación", "horas": 5, "precio": 70},
    {"nombre": "Pruebas", "horas": 15, "precio": 40},
]

# Queremos calcular el coste total de todos los proyectos (horas*precio)
# El proyecto con mayor coste (horas*precio)
# ordenar por número de horas
# Filtrar los que cuesten más 1000 €