Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 17.07.2020
Сообщений: 17

Посчитать сумму, которую автомобилист должен заплатить за проезд из пункта А в пункт В

07.08.2020, 05:24. Показов 4057. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача
В городе-государстве Сингапур предприняты меры для предотвращения пробок на дорогах. В частности, проезд по большей части городских дорог платный. При этом оплата за проезд на отдельном участке меняется в зависимости от количества машин, находящихся на дороге в определенный момент времени: чем больше машин, тем больше плата, чем меньше машин, тем плата меньше.


Автомобиль из пункта А в пункт В проезжает по нескольким участкам дорог определенной длины. Для каждого участка известно среднее количество машин, находящихся на нем, в момент времени, когда там проезжает автомобиль. Оплата по любому участку вычисляется в зависимости от количества автомобилей на 1 км дороги:

Интервал (шт/км)Оплата (S$)
<=301
от 31 до 601.5
61 до 1203
>1204.5

Необходимо посчитать сумму, которую автомобилист должен заплатить за проезд из пункта А в пункт В как сумму оплаты за проезд по каждому участку.

Входные данные:
  • строка, в которой через пробел перечислены длины всех участков дороги (целые числа);
  • строка, в которой через пробел перечислены средние количества машин на участке (целые числа).

Выходные данные:
  • длина пути от А до В;
  • оплата за проезд по дорогам.

Для вывода значения использовать строку формата:

"Длина пути: %3d км, оплата: %5.2f S$"

Пояснение:

При вычислении количества автомобилей на 1 км дороги, полученное значение округлить до целого.

Sample Input 1:
5 2 2 4 3 4 4
432 202 40 124 106 104 76
Sample Output 1:
Длина пути: 24 км, оплата: 12.00 S$
Sample Input 2:
6 4 5 3 3 2 6 5 4 4 4
318 197 50 189 367 26 610 633 96 106 71
Sample Output 2:
Длина пути: 46 км, оплата: 23.00 S$
Мой код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
import numpy as np
dlnna = np.array([int(i) for i in input().split()])
kmash = np.array([int(i) for i in input().split()])
i = np.array([int(i) for i in kmash/dlnna])
for si in i:
    if si<=30:
        
    if si>=30 and si<=60:
 
    if si>=60 and si<=120:
        
    if si>120:
print("Длина пути: %3d км, оплата: %5.2f S$" % (sum(dlnna), ????))
Я понимаю что в if надо, len(si)* на цену потом это сумировать, но в таком случае выдает ошибку "TypeError: object of type 'numpy.int32' has no len()", прошу помочь в решении или хотя бы подсказку дать.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.08.2020, 05:24
Ответы с готовыми решениями:

Вычислить сумму, которую должен заплатить клиент
Задание 3 В магазине существует гибкая система скидок: если общего товара приобретено на общую сумму не менее, чем на 1000 рублей, то...

Рассчитать сумму, которую должен заплатить дилер, при покупке n телевизоров
Дилер покупает у производителя телевизоры по цене 90$ за шт. При этом он получает скидку в 3% если сумма покупки превышает 8500$....

Написать программу, которая позволит посчитать сумму, которую необходимо заплатить за обмен валюты
Добрый вечер. Нужно написать код(у меня вообще не получается). Дано: Четыре валюты(1-Доллар,2-Евро,3-Злотый,4-Фунты). Курс...

2
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
07.08.2020, 07:53
Лучший ответ Сообщение было отмечено gunin как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
all_distn, all_price = 0, 0
for distn, amount in zip(*[map(int, input().split()) for _ in range(2)]):
    density = amount / distn
    if density > 120:
        price = 4.5
    elif density > 60:
        price = 3
    elif density > 30:
        price = 1.5
    else:
        price = 1
    all_distn += distn
    all_price += price
print(f"Длинна пути: {all_distn:3d} км, оплата: {all_price:5.2f} S$")
1
0 / 0 / 0
Регистрация: 17.07.2020
Сообщений: 17
07.08.2020, 07:58  [ТС]
DmFat, спасибо огромное
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.08.2020, 07:58
Помогаю со студенческими работами здесь

Расчет суммы, которую пользователь должен заплатить с учётом скидки
Доброе время суток, помогите с задачкой пожалуйста!!! Пользователь вводит количество товара и стоимость единицы товара. Предложить...

Выведите сумму, которую Петя заплатит за проезд
онлайн проверка задач пишет что в решении ошибка, хотя при тестировании мной ошибок не было обнаружено. помогите найти. Петя любит...

Вычислить наименьшую цену, которую покупатель должен заплатить за заданные покупки, и определить, какими скидками это можно сделать.
Здравствуйте, Я студент 1-ого курса, нужна помощь с написание кода к этой задаче на С++ Торговые скидки (время на тест 1 секунда) ...

Посчитать минимальную и максимальную стоимость проезда в рублях, которую могли заплатить пассажиры автобуса
Цена проезда в автобусах нашего города — один рубль. Однако, не все так просто — каждый взрослый пассажир имеет право провезти бесплатно не...

Определить минимальную сумму которую придётся заплатить за трафик
Здравствуйте! Объясните мне, пожалуйста, как надо решить данную задачу? Вот тз: В Москве начал работать новый оператор сотовой связи,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru