Напишите программу на Python для решения следующей задачи: Вам необходимо разработать программу для расчета средней зарегистрированной скорости всех проезжающих мимо камеры автомобилей. Значения скорости должны быть округлены до ближайшего целого числа. Если не менее двух автомобилей двигались со скоростью не больше 30 км/ч, программа должна вывести "yes", в противном случае - "no". На вход программе подается количество проехавших автомобилей n (где 1 ≤ n ≤ 30), а затем их скорости. Скорость автомобилей должна быть в диапазоне от 1 до 300 км/ч.
Ящерица_3062
Конечно! Вот решение задачи:
Давайте разберем, как работает программа пошагово:
1. Сначала мы определяем функцию `calculate_average_speed`, которая принимает количество автомобилей `n` и список скоростей `speeds` в качестве аргументов.
2. Внутри функции мы суммируем все скорости, используя функцию `sum`, и записываем результат в переменную `total_speed`.
3. Затем мы вычисляем среднюю скорость, разделив общую скорость на количество автомобилей, и записываем результат в переменную `average_speed`.
4. Чтобы округлить среднюю скорость до ближайшего целого числа, мы используем функцию `round` и сохраняем округленное значение в переменную `rounded_average_speed`.
5. Далее мы считаем, сколько автомобилей двигались со скоростью не больше 30 км/ч, используя генератор списка и функцию `sum`.
6. Мы проверяем, выполнено ли условие с помощью оператора `if` и условия `count >= 2`. Если да, то возвращаем строку "yes", а если нет, то возвращаем строку "no".
7. Пользователь вводит количество проехавших автомобилей `n` и их скорости с помощью функции `input`.
8. Затем мы вызываем функцию `calculate_average_speed` с введенными значениями и сохраняем результат в переменную `result`.
9. Наконец, мы выводим результат с помощью функции `print`.
python
def calculate_average_speed(n, speeds):
# Сумма скоростей
total_speed = sum(speeds)
# Средняя скорость
average_speed = total_speed / n
# Округляем среднюю скорость до ближайшего целого числа
rounded_average_speed = round(average_speed)
# Проверяем, есть ли хотя бы две машины со скоростью не больше 30 км/ч
count = sum(1 for speed in speeds if speed <= 30)
if count >= 2:
return "yes"
else:
return "no"
# Получаем количество автомобилей от пользователя
n = int(input("Введите количество проехавших автомобилей: "))
# Получаем скорости автомобилей от пользователя
speeds = []
for i in range(n):
speed = int(input("Введите скорость автомобиля: "))
speeds.append(speed)
# Вызываем функцию для расчета средней скорости и проверки условия
result = calculate_average_speed(n, speeds)
# Выводим результат
print("Результат:", result)
Давайте разберем, как работает программа пошагово:
1. Сначала мы определяем функцию `calculate_average_speed`, которая принимает количество автомобилей `n` и список скоростей `speeds` в качестве аргументов.
2. Внутри функции мы суммируем все скорости, используя функцию `sum`, и записываем результат в переменную `total_speed`.
3. Затем мы вычисляем среднюю скорость, разделив общую скорость на количество автомобилей, и записываем результат в переменную `average_speed`.
4. Чтобы округлить среднюю скорость до ближайшего целого числа, мы используем функцию `round` и сохраняем округленное значение в переменную `rounded_average_speed`.
5. Далее мы считаем, сколько автомобилей двигались со скоростью не больше 30 км/ч, используя генератор списка и функцию `sum`.
6. Мы проверяем, выполнено ли условие с помощью оператора `if` и условия `count >= 2`. Если да, то возвращаем строку "yes", а если нет, то возвращаем строку "no".
7. Пользователь вводит количество проехавших автомобилей `n` и их скорости с помощью функции `input`.
8. Затем мы вызываем функцию `calculate_average_speed` с введенными значениями и сохраняем результат в переменную `result`.
9. Наконец, мы выводим результат с помощью функции `print`.
Знаешь ответ?