🎉 恭喜! 🎉
你出色地完成了任务!这是一个不小的挑战,但你找到了正确答案。你离编程大师又近了一步!继续保持,每一步都让你更强大。
你在"极速物流"公司担任程序员。你的第一个重要任务——为经理们创建一个计算器,用于计算单个包裹的最终配送时间和费用。计算取决于几个因素:配送区域、包裹重量、下单时间以及配送类型(普通或加急)。
计算规则:
目标:
编写一个程序,向用户请求所有必要数据,并显示最终的配送时间和费用。所有计算应按照指定顺序依次应用。
区域名称(线路)
包裹重量(物料编号)
订单时间(整点小时数,0-23)
配送类型(线路,"standard" 或 "express")
最终时间和费用(一行),或一条表示该区域未提供服务的信息(一行)。
中央
5.5
14
标准
最终配送时间:30分钟。最终费用:150卢布。
# Запрашиваем у пользователя все необходимые данные для расчета
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("Район не обслуживается")
🎉 恭喜! 🎉
你出色地完成了任务!这是一个不小的挑战,但你找到了正确答案。你离编程大师又近了一步!继续保持,每一步都让你更强大。
AD
广告
正在运行代码...