Ejercicios preexamen

# vamos a hacer una función a la que le pasamos un tipo de bono
# un tipo de cliente y una cantidad y nos calcule el precio de acuerdo a lo siguiente
# bono=vip precio=3000
# bono=extra precio=2000
# bono=normal precio=1000
# tipo cliente= standard, el precio no cambia
# tipo cliente=premium, el precio es la mitad
# por defecto el bono sea normal y el cliente tambien
# los parámetros por defecto siempre al final



def precioTotal(cantidad, tipoBono="normal", tipoCliente="normal"):
    if tipoBono == "normal":
        precio = 1000
    elif tipoBono == "extra":
        precio = 2000
    else:
        precio = 3000
    if tipoCliente == "premium":
        precio = precio / 2
    return cantidad * precio


print(precioTotal(10, "normal", "normal"))
print(precioTotal(10, "normal", "premium"))
print(precioTotal(10, "vip", "premium"))
print(precioTotal(10))

# esta función, en teoría, cuenta el número de pares que hay en la lista
# ¿Funciona? Si es que no por qué y como arreglarlo
def contarPares(lista):
    total=0
    for i in lista:
        if total%2==0:
            total+=i
    return total

def contarPares(lista):
    total = 0
    for i in lista:
        if i % 2 == 0:
            total += 1
    return total

# Una función a la que le pasamos un proyecto como este:
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},
]
# Y nos devuelve una lita de las tareas que ocupan más de 10 horas. En el caso anterior, desarrollo y pruebas
# tareasLargas(proyecto)->["Desarrollo","Pruebas"]

def tareasLargas(proyecto):
    res=[]
    for tarea in proyecto:
        if tarea["horas"]>10:
            res.append(tarea['nombre'])
    return res
print(tareasLargas(proyecto))

# una función a la que le pasamos una cadena y nos devuelve una lista con la última letra de cada palabra
# ultimaLetra("hola que tal")->["a","e","l"]

def ultimaLetrafor(cadena):
    palabras=cadena.split()
    res=[]
    for palabra in palabras:
        res.append(palabra[-1])
    return res

def ultimaLetra(cadena):
    return [palabra[-1] for palabra in cadena.split()]
print(ultimaLetra("hola que tal"))

Publicado por

Juan Pablo Fuentes

Formador de programación y bases de datos

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.