🎉 تهانينا! 🎉
لقد حللت المهمة ببراعة! كان صعبًا لكنك وجدت الحل الصحيح. أنت خطوة أقرب إلى الاحتراف! استمر، كل مرحلة تجعلك أقوى.
ProgerLib Python للجميع
تغيير السمة
أنت تعمل كمبرمج في شركة "إكسبريس لوجستيكس". مهمتك الجادة الأولى — إنشاء آلة حاسبة للمديرين الذين سيحسبون الوقت والتكلفة النهائية لتوصيل طرد واحد. تعتمد الحسابات على عدة عوامل: منطقة التوصيل، وزن الطرد، وقت الطلب، ونوع التوصيل (عادي أو إكسبرس).
قواعد الحساب:
الهدف:
اكتب برنامجًا يطلب جميع البيانات اللازمة من المستخدم ويعرض الوقت والتكلفة النهائيين للتوصيل. يجب تطبيق جميع الحسابات بالتسلسل بالترتيب المشار إليه.
اسم المنطقة (السطر)
وزن الطرد (رقم المادة)
وقت الطلب (رقم صحيح يمثل الساعة، من 0 إلى 23)
نوع التوصيل (سطر، "قياسي" أو "سريع")
الوقت النهائي والتكلفة (سطر) أو رسالة تفيد بأن المنطقة غير مخدومة (سطر).
المركزية
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
إعلان
جارٍ تشغيل الكود...