🎉 ¡Felicidades! 🎉
¡Has resuelto la tarea brillantemente! Era un reto difícil, pero encontraste la solución correcta. ¡Estás un paso más cerca de dominar la programación! Sigue así, cada etapa superada te hace más fuerte.
ProgerLib Python para todos
Trabajas como programador en la empresa "Express Logistics". Tu primera tarea seria — Crear una calculadora para los gerentes que calcularán el tiempo final y el costo de entrega de un paquete. Los cálculos dependen de varios factores: la zona de entrega, el peso del paquete, la hora del pedido y el tipo de entrega (ordinaria o exprés).
Reglas de cálculo:
Objetivo:
Escribe un programa que solicite todos los datos necesarios al usuario y muestre el tiempo final y el costo de la entrega. Todos los cálculos deben aplicarse secuencialmente en el orden indicado.
El nombre del área (línea)
el peso del paquete (número de material)
la hora del pedido (un número entero de hora, 0-23)
tipo de entrega (línea, "estándar" o "exprés")
El tiempo y costo final (línea) o un mensaje de que el área no está servida (línea).
Central
5.5
14
Estándar
La hora de entrega final: 30 minutos. Costo final: 150 rublos.
# Запрашиваем у пользователя все необходимые данные для расчета
district = input() # Название района доставки (строка)
weight = float(input()) # Вес посылки в кг (вещественное число)
hour = int(input()) # Час оформления заказа от 0 до 23 (целое число)
delivery_type = input() # Тип доставки: "стандарт" или "экспресс" (строка)
time = 0 # Переменная для хранения итогового времени в минутах
cost = 0 # Переменная для хранения итоговой стоимости в рублях
is_valid_district = True # Флаг для проверки, обслуживается ли район
# Шаг 1: Определяем базовое время и стоимость в зависимости от района
if district == "Центральный":
time = 30
cost = 150
elif district == "Спальный":
time = 60
cost = 200
elif district == "Промышленный":
time = 90
cost = 250
else:
# Если район не найден в списке, устанавливаем флаг в False
is_valid_district = False
# Проверяем, был ли найден район. Если нет, то дальнейшие расчеты не нужны.
if is_valid_district:
# Шаг 2: Применяем наценку за вес, если он больше 10 кг
if weight > 10:
time = time + 15
cost = cost + 50
# Шаг 3: Проверяем, попадает ли час заказа в час пик
# Условие "И": (hour >= 8 и hour <= 10) - утренний пик
# Условие "И": (hour >= 17 и hour <= 20) - вечерний пик
# Условие "ИЛИ" между ними: or
is_rush_hour = (hour >= 8 and hour <= 10) or (hour >= 17 and hour <= 20)
if is_rush_hour:
time = time + 30
cost = cost * 1.2 # Увеличиваем стоимость на 20%
# Шаг 4: Применяем модификатор для экспресс-доставки
if delivery_type == "экспресс":
time = time / 2 # Сокращаем время вдвое
cost = cost * 2 # Увеличиваем стоимость вдвое
# Выводим итоговый результат, округляя значения до целых чисел для аккуратности
print(f"Итоговое время доставки: {int(time)} минут. Итоговая стоимость: {int(cost)} руб.")
else:
# Если флаг is_valid_district остался False, выводим сообщение об ошибке
print("Район не обслуживается")
🎉 ¡Felicidades! 🎉
¡Has resuelto la tarea brillantemente! Era un reto difícil, pero encontraste la solución correcta. ¡Estás un paso más cerca de dominar la programación! Sigue así, cada etapa superada te hace más fuerte.
AD
Publicidad
Ejecutando tu código...