<?php
/**
* Plugin Name: Mi Plugin Personalizado
* Plugin URI: https://tusitio.com
* Description: Un plugin simple para demostrar cómo crear uno.
* Version: 1.0
* Author: Tu Nombre
* Author URI: https://tusitio.com
* License: GPL2
*/
function mensaje_final_personalizado($content) {
$aforismos = [
"La vida es aquello que te sucede mientras estás ocupado haciendo otros planes. – John Lennon",
"El conocimiento es poder. – Francis Bacon",
"Pienso, luego existo. – René Descartes",
"La imaginación es más importante que el conocimiento. – Albert Einstein",
"El hombre está condenado a ser libre. – Jean-Paul Sartre",
"Solo sé que no sé nada. – Sócrates",
"No hay camino para la paz, la paz es el camino. – Mahatma Gandhi",
"El secreto de la felicidad no es hacer siempre lo que se quiere, sino querer siempre lo que se hace. – León Tolstói",
"La esperanza es el sueño del hombre despierto. – Aristóteles",
"El que tiene un porqué para vivir puede soportar casi cualquier cómo. – Friedrich Nietzsche"
];
$aforismo=$aforismos[mt_rand(0,9)];
if (is_single()) {
$content .= '<p style="color: green;">'.$aforismo.'</p>';
}
return $content;
}
add_filter('the_content', 'mensaje_final_personalizado');
Tema FSE
Tema clásico
Ejercicio Curriculum
Vamos a crear tres páginas:
Una página de contacto con nuestros datos de contacto y un mapa incrustado
Una página portfolio con una galería de imágenes de nuestros supuestos (o reales proyectos)
Una página de experiencia con todos los trabajos que hemos realizado.
Con lo que sabéis, hacedlas bonitas.
Con estas páginas haced un menú que vaya al menú hamburguesa
Después, cambiad el color de la parte izquierda por uno más agradable o, mejor, por un degradado elegante.
Haced otros cambios de css si lo consideráis oportuno.
Práctica Gutemberg
Intentad hacer una página lo más parecida a esta (sin el menú negro de arriba):
Podéis intentarlo por secciones individuales. Si queréis imágenes aquí podéis encontrar muchas: https://picsum.photos/
Como funciona la caché
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
