Давайте разберем задачу по шагам и напишем программу на Python, которая выполнит все необходимые пункты.
Шаг 1: Создание массива из 50 элементов
Первое, что нам нужно сделать, это создать массив (или список) из 50 элементов. Это можно сделать с помощью библиотеки random, которая поможет нам генерировать случайные числа.
Шаг 2: Заполнение массива случайными числами из диапазона (-16, 18)
Мы также будем генерировать случайные числа в указанном диапазоне с использованием метода randint. Важно помнить, что верхняя граница в randint не включается, поэтому мы используем 18.
Шаг 3: Вывод массива
После того как массив будет заполнен, его нужно просто вывести на экран.
Шаг 4: Найти и вывести среднее арифметическое значение элементов
Чтобы найти среднее арифметическое, мы сложим все элементы массива и поделим на количество элементов (в нашем случае — 50).
Шаг 5: Отсортировать массив по возрастанию и вывести его на экран
Используем метод .sort() для сортировки массива. После сортировки снова выведем массив.
Шаг 6: Расположить все ненулевые элементы по возрастанию, а нулевые элементы в конце
Для этой задачи нам нужно сначала извлечь ненулевые элементы, отсортировать их, а затем добавить нули в конце.
Теперь мы можем реализовать всё в коде:
import random
# 1. Создание массива из 50 элементов
array = [0] * 50
# 2. Заполнение массива случайными числами из диапазона (-16, 18)
for i in range(len(array)):
array[i] = random.randint(-16, 17)
# 3. Вывод данного массива
print("Исходный массив:")
print(array)
# 4. Найти и вывести среднее арифметическое значение элементов
average = sum(array) / len(array)
print("Среднее арифметическое значение:", average)
# 5. Отсортировать массив по возрастанию и вывести его на экран
sorted_array = sorted(array)
print("Отсортированный массив:")
print(sorted_array)
# 6. Расположить все ненулевые элементы по возрастанию, а нулевые элементы в конце
non_zero_elements = [x for x in array if x != 0]
zero_elements = [x for x in array if x == 0]
sorted_non_zero = sorted(non_zero_elements)
final_array = sorted_non_zero + zero_elements
print("Массив с ненулевыми элементами по возрастанию, а нулевыми элементами в конце:")
print(final_array)
Пояснение к коду
- Импортируем библиотеку
random, чтобы мы могли использовать функцию для генерации случайных чисел.
- Создаем массив, состоящий из 50 элементов, и инициализируем его нулями.
- Заполняем массив случайными значениями, используя
randint, чтобы получить числа из диапазона от -16 до 17.
- Используем
sum() для расчета суммы элементов массива, а затем делим на 50, чтобы получить среднее арифметическое.
- Сортируем массив и выводим его на экран с помощью функции
sorted().
- Используем списковые включения для создания нового списка с ненулевыми и нулевыми элементами и объединяем их.
Эта программа выполняет все поставленные задачи и добавляет комментарии для лучшего понимания! Если у вас будут вопросы по коду или его работе, не стесняйтесь спрашивать!