Saltar a contenido

UD 1 - P2: Actividades extra de ampliación

P2 - Actividades extra de ampliación

Estas diez actividades complementan la Práctica 1.2: Ejercicios progresivos de Python.

Actividades extra y opcionales. Realiza estos ejercicios si quieres profundizar después de completar la práctica.

No sustituyen los 32 ejercicios de la Práctica 1.2 ni forman parte de su entrega obligatoria.

1. Ampliación: Conversor de segundos

Escribe un programa que solicite una cantidad entera de segundos y la convierta a horas, minutos y segundos.

Por ejemplo, para 7384 segundos deberá mostrar:

7384 segundos son 2 horas, 3 minutos y 4 segundos.

2. Ampliación: Desglose de una compra

Una tienda vende un producto y aplica un determinado porcentaje de descuento y posteriormente un 21 % de IVA.

Solicita:

Precio original
Porcentaje de descuento

El programa debe mostrar, con dos decimales:

Precio original
Descuento aplicado
Precio después del descuento
IVA
Precio final

3. Ampliación: Conversión de días

Solicita una cantidad de días y exprésala en semanas y días restantes.

Por ejemplo:

Introduce el número de días: 45

45 días equivalen a:
6 semanas y 3 días

4. Ampliación: Intercambiar nombre y apellidos

Solicita un nombre completo con este formato:

Bolsom Perdido, Frodo Juan

y muestra:

Frodo Juan Bolsom Perdido

5. Ampliación: Generador de nombre de usuario

Solicita:

Nombre: Laura
Primer apellido: Romero
Segundo apellido: Vega
Año de nacimiento: 2004

Genera un identificador utilizando:

  • las tres primeras letras del nombre;
  • las tres primeras letras del primer apellido;
  • la primera letra del segundo apellido;
  • los dos últimos dígitos del año.

El resultado debe mostrarse completamente en minúsculas.

Por ejemplo:

lauromv04

6. Ampliación: Coordenadas geográficas

Una coordenada se introduce con el siguiente formato:

36.4623,-6.2057

Extrae y muestra por separado:

Latitud: 36.4623
Longitud: -6.2057

Después conviértelas a float y calcula la suma de ambas coordenadas.

No utilices split().

Crea una función:

def obtener_latitud(coordenadas):
    ...

y otra:

def obtener_longitud(coordenadas):
    ...

7. Ampliación: Duración de una película

Una película comienza a una determinada hora y conocemos su duración en minutos.

Solicita:

Hora de comienzo: 18
Minuto de comienzo: 45
Duración: 137

Calcula a qué hora termina.

El resultado debe tener formato hh:mm:

La película termina a las 21:02

8. Ampliación: Ocultar parte de un correo electrónico

Solicita una dirección:

diego.cano@iesrafaelalberti.es

y muestra una versión parcialmente oculta:

d*********@iesrafaelalberti.es

Debe conservar:

  • la primera letra del usuario;
  • la @;
  • el dominio completo.

Crea una función:

def ocultar_correo(correo):
    ...

9. Ampliación: Validador básico de contraseña

Solicita una contraseña y comprueba que:

  • tenga al menos 8 caracteres;
  • contenga al menos un número;
  • no contenga espacios.

Puedes utilizar:

texto.isdigit()

Y una característica que todavía no hemos estudiado:

temperaturas = [12, 18, 31]

if any(t > 30 for t in temperaturas):
    print("Alguna temperatura supera los 30 grados")

El programa deberá mostrar:

Contraseña válida

o:

Contraseña no válida

10. Ampliación: Cajero automático

Solicita una cantidad entera de euros y calcula el menor número posible de billetes utilizando:

50 €
20 €
10 €
5 €

Por ejemplo:

Cantidad: 185

Billetes de 50 €: 3
Billetes de 20 €: 1
Billetes de 10 €: 1
Billetes de 5 €: 1

Si la cantidad no puede obtenerse exactamente, por ejemplo 183, el programa deberá mostrar:

La cantidad debe ser múltiplo de 5.