🎉 Parabéns! 🎉
Você resolveu a tarefa brilhantemente! Foi difícil, mas você encontrou a solução certa. Você está um passo mais perto de dominar a programação! Continue assim.
ProgerLib Python para todos
Você trabalha como programador na empresa "express logistics". Sua primeira tarefa séria & mdash; Criar uma calculadora para gerentes que calcularão o tempo final e o custo de entrega de um pacote. Os cálculos dependem de vários fatores: a área de entrega, o peso do pacote, o horário do pedido e o tipo de entrega (comum ou expressa).
Regras de cálculo:
Objetivo:
Escreva um programa que solicite todos os dados necessários do usuário e exiba o tempo final e o custo da entrega. Todos os cálculos devem ser aplicados sequencialmente na ordem indicada.
O nome da área (linha)
o peso do pacote (número do material)
pedido (> pedido (um número inteiro de hora do pedido, 0-23)
tipo de entrega (linha, "padrão" ou "expresso")
O tempo e custo finais (linha) ou uma mensagem de que a área não é atendida (linha).
Central
5.5
14
Standard
O tempo final de entrega: 30 minutos. Custo 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("Район не обслуживается")
🎉 Parabéns! 🎉
Você resolveu a tarefa brilhantemente! Foi difícil, mas você encontrou a solução certa. Você está um passo mais perto de dominar a programação! Continue assim.
AD
Publicidade
Executando seu código...