ПАЙТОН Напишите программу для решения следующей задачи. Камера наблюдения регистрирует в автоматическом режиме скорость проезжающих мимо неё автомобилей, округляя значения скорости до целых чисел. Необходимо определить среднюю зарегистрированную скорость всех автомобилей. Если скорость хотя бы одного автомобиля была не меньше 60 км/ч, выведите «YES», иначе выведите «NO». Программа получает на вход число проехавших автомобилей N (1 ≤ N ≤ 30), затем указываются их скорости. Значение скорости не может быть меньше 1 и больше 300. Программа должна сначала вывести среднюю скорость с точностью до одного знака после запятой, затем «YES» или «NO».

mariyshak57 mariyshak57    1   10.04.2022 22:02    76

Ответы
ВоржеваСоня ВоржеваСоня  10.04.2022 22:10

Программа:
Python:

N, summ, speed60 = int(input()), 0, False

for i in range(N):

   speed = int(input())

   if speed < 1 or speed > 300:

       print('Скорость не может быть меньше 1 и больше 300')

       continue

   else:

       summ += speed

   if speed >= 60 and not speed60: speed60 = True

print(round(summ/N, 1))

print('YES' if speed60 else 'NO')

Объяснение:

В начале вводится целое число N с клавиатуры, а также регистрируется переменняа summ, которой присваивается значение 0, переменная speed60 со значением False. Повторяем тело цикла N раз (с цикла for): вводится скорость с клавиатуры. По условию скорось не может быть меньше 1 и больше 300 - делаем проверку. Если скорость действительно за рамками допустимых значений, выводим предупреждение и не учитываем это значение в сумму скоростей. Если скорость от 1 до 300, то к значению переменной summ прибавляем значение скорости. Делаем проверку, скорость больше либо равно 60 км/ч или нет. Если да, и переменная speed60 на данный момент False, то присваиваем ей значение True. Цикл окончен. В конце выводим среднее значение, округлённое до десятых, в следующей строке выводим "YES" если была скорость, которая больше либо равно 60, иначе выводим "NO".

Результат:

10

102

106

102

062

58

276

27

3

5

6

74.7

YES

ПОКАЗАТЬ ОТВЕТЫ
Karapetrova05 Karapetrova05  21.01.2024 21:40
Хорошо, давайте рассмотрим эту задачу пошагово.

1. Первым шагом нам необходимо получить от пользователя количество проехавших автомобилей. Для этого мы можем использовать функцию input(). Запишем это значение в переменную N.
```python
N = int(input("Введите число проехавших автомобилей: "))
```
Помните, что мы используем int() для преобразования введенного значения в целое число.

2. Далее, нам нужно получить скорости каждого автомобиля и сохранить их значения. Мы можем использовать цикл for для просмотра каждого автомобиля. Создадим пустой список, в который будем добавлять скорости автомобилей.
```python
speeds = [] # создаем пустой список для скоростей автомобилей
for i in range(N):
speed = int(input("Введите скорость автомобиля: "))
speeds.append(speed) # добавляем скорость в список
```

3. Теперь нам нужно найти среднюю скорость всех автомобилей. Мы можем использовать функцию sum() для сложения всех значений из списка speeds, а затем поделить эту сумму на количество автомобилей.
```python
average_speed = sum(speeds) / N
print("Средняя скорость:", round(average_speed, 1))
```
Обратите внимание, что мы использовали функцию round() для округления средней скорости до одного знака после запятой.

4. Наконец, нам нужно определить, была ли скорость хотя бы одного автомобиля не меньше 60 км/ч. Мы можем использовать условные операторы if-else для этого.
```python
if any(speed >= 60 for speed in speeds):
print("YES")
else:
print("NO")
```
Мы используем функцию any() для проверки, удовлетворяет ли хотя бы одна скорость условию (speed >= 60).

Полная программа для решения данной задачи выглядит следующим образом:
```python
N = int(input("Введите число проехавших автомобилей: "))
speeds = [] # создаем пустой список для скоростей автомобилей
for i in range(N):
speed = int(input("Введите скорость автомобиля: "))
speeds.append(speed) # добавляем скорость в список

average_speed = sum(speeds) / N
print("Средняя скорость:", round(average_speed, 1))

if any(speed >= 60 for speed in speeds):
print("YES")
else:
print("NO")
```

Надеюсь, это помогло вам понять, как решить данную задачу! Если у вас возникнут еще вопросы, не стесняйтесь задавать!
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика