Одномерные массивы
ДЗ: Написать программы - Заполнить массив A из 15 элементов, случайными числами, значение которых изменяются в диапазоне от -50 до 50. Вывести массив на экран.
Найти:
1. Вывести на экран произведение всех элементов массива.
2. Вывести на экран количество отрицательных элементов массива.
3. Вывести на экран среднее арифметическое всех нечетных элементов целочисленного массива (с точностью 2 знака после запятой).
Если в массиве нет нечетных элементов, вывести "NO".
4. Вывести на экран список всех положительных чисел в одну строку, оканчивающихся на 8. Если в массиве нет таких элементов, вывести "NO".
5. Вывести на экран список всех положительных чисел в одну строку, которые делятся на 3 и не делятся на 9. Если в массиве нет таких элементов, вывести "NO".
Answers & Comments
import random
A = []
for i in range(15):
A.append(random.randrange(-50,50))
print(A)
pr = 1
for i in range(len(A)):
pr*= A[i]
print("Произведение всех элементов равно: ", pr)
ko = 0
for i in range(len(A)):
if A[i] < 0:
ko += 1
print("Количество отрицательных элементов: ", ko)
sn = 0
nch = 0
for i in range(15):
if A[i] % 2 != 0:
sn+= A[i]
nch += 1
if nch == 0:
print("NO")
else:
sr = sn / nch
print("Среднее арифметическое:", end=" ")
print(float('{:.2f}'.format(sr)))
print("Положительные, которые оканчиваются на 8:", end= " ")
k8 = 0
k93 = 0
for i in range(len(A)):
if A[i] > 0 and A[i] % 10 == 8:
k8 += 1
print(A[i],end=" ")
if k8 == 0:
print("NO",sep=" ")
print("Числа, которые делятся на 3, но не на 9:")
for i in range(len(A)):
if A[i] % 3 == 0 and A[i] % 9 != 0 and A[i] > 0:
k93+=1
print(A[i],end=" ")
if k93 == 0:
print("NO")