🎉 Félicitations ! 🎉
Tu as brillamment résolu la tâche ! C était difficile, mais tu as trouvé la bonne solution. Tu es encore plus proche de maîtriser la programmation ! Continue ainsi.
ProgerLib Python pour tous
Vous travaillez en tant que programmeur dans l'entreprise "express logistics". Votre première tâche sérieuse & mdash; Créer un calculateur pour les gestionnaires qui calculera le temps final et le coût de livraison d'un colis. Les calculs dépendent de plusieurs facteurs : la zone de livraison, le poids du colis, l'heure de la commande et le type de livraison (ordinaire ou express).
Règles de calcul :
Objectif :
Écrire un programme qui demande toutes les données nécessaires à l'utilisateur et affiche le temps final et le coût de livraison. Tous les calculs doivent être appliqués séquentiellement dans l'ordre indiqué.
Le nom de la zone (ligne)
le poids du colis (numéro de matériau)
l'heure de la commande (un nombre entier d'heures, 0-23)
le type de livraison (ligne, "standard" ou "express")
Le temps et le coût finaux (ligne) ou un message indiquant que la zone n'est pas desservie (ligne).
Central
5.5
14
Standard
Le délai de livraison final : 30 minutes. Coût final : 150 roubles.
# Запрашиваем у пользователя все необходимые данные для расчета
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("Район не обслуживается")
🎉 Félicitations ! 🎉
Tu as brillamment résolu la tâche ! C était difficile, mais tu as trouvé la bonne solution. Tu es encore plus proche de maîtriser la programmation ! Continue ainsi.
AD
Publicité
Exécution de votre code...