Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Desafío: hora de practicar - Funciones (Parte 2)

9

# Datos base
costo_hotel = 150  # costo diario del hotel en reales
precio_gasolina = 5  # precio de la gasolina por litro
consumo_gasolina = 14  # consumo en km/l
ciudades = ['Salvador', 'Fortaleza', 'Natal', 'Aracaju']
gastos_viaje = [200, 400, 250, 300]
distancia = [850, 800, 300, 550]

# Función para elegir destino
def elegir_destino(ciudades):
    mensaje_error_destinos = "\nDEBE INGRESAR UNA OPCIÓN VÁLIDA: [1-4]\n"
    while True:
        opcion = input("[---DESTINOS---]\n[1] Salvador\n[2] Fortaleza\n[3] Natal\n[4] Aracaju\n\nINGRESE OPCIÓN DE SU DESTINO: ")
        try:
            opcion = int(opcion)
            if 1 <= opcion <= 4:
                destino = ciudades[opcion - 1]
                return opcion, destino
            else:
                print(mensaje_error_destinos)
        except ValueError:
            print(mensaje_error_destinos)

# Función para ingresar cantidad de días
def ingresar_dias():
    mensaje_error_dias = "\nDEBE INGRESAR UNA CANTIDAD VÁLIDA\n"
    while True:
        cant_dias = input("INGRESE CANTIDAD DE DÍAS DE VIAJE: ")
        try:
            cant_dias = int(cant_dias)
            if 1 <= cant_dias <= 100:
                return cant_dias
            else:
                print(mensaje_error_dias)
        except ValueError:
            print(mensaje_error_dias)

# Función: gasto del hotel
def gasto_hotel(costo_hotel, cant_dias):
    gasto_h = costo_hotel * cant_dias
    return gasto_h

# Función: gasto de gasolina
def gasto_gasolina(distancia, opcion, consumo_gasolina, precio_gasolina):
    gasto_g = round((distancia[opcion - 1] / consumo_gasolina) * precio_gasolina, 2)
    return gasto_g

# Función: gasto en paseos
def gasto_paseo(gastos_viaje, opcion, cant_dias):
    gasto_p = round(gastos_viaje[opcion - 1] * cant_dias, 2)
    return gasto_p

# Función: gasto total
def gasto_total(gasto_h, gasto_g, gasto_p):
    gastos_totales = gasto_h + gasto_g + gasto_p
    return gastos_totales

# Llamadas al programa
opcion, destino = elegir_destino(ciudades)
cant_dias = ingresar_dias()

gasto_h = gasto_hotel(costo_hotel, cant_dias)
gasto_g = gasto_gasolina(distancia, opcion, consumo_gasolina, precio_gasolina)
gasto_p = gasto_paseo(gastos_viaje, opcion, cant_dias)

gastos_totales = gasto_total(gasto_h, gasto_g, gasto_p)

# Resultado final
print(f"\nEn base a los gastos definidos, un viaje de {cant_dias} días a {destino} desde Recife costaría R$ {gastos_totales:.2f}")

10

frase = str(input("Ingresa una frase: "))
puntuacion = '!"\'?¡¿,#.$|°¬:´¨[]{}();^`_~&><+-*/='
for caracter in puntuacion:
  frase = frase.replace(caracter, " ")

palabras = frase.split()#crea una lista donde elimina los espacios en blanco y separa palabra por palabra
# lambda: función anónima que define la condición (longitud de la palabra mayor a 5)
# filter: recorre cada palabra y filtra solo las que tienen más de 5 caracteres
# set: elimina las palabras duplicadas del resultado filtrado
mayor_a_5 = list(set(filter(lambda mayor: len(mayor) > 5, palabras)))
print(f"En tu frase ingresada, las palabras con más de 5 carácteres son: {mayor_a_5}")
1 respuesta

Hola , espero que estés muy bien.

Felicitaciones por tu aprendizaje. Estamos priorizando el foro para postear dudas, así optimizamos el tiempo de respuesta para ustedes.

Para no dejar de compartir los códigos, actividades y ejercicios que realizas, creamos un canal en Discord (#compartetucodigo) donde puedes compartirlos, dar y sugerir mejoras con el resto de tus compañeros.

Un saludo.

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios