если числа изначально в 10 системе:
array = list(map(int, input().split())); res = 0; res1 = 0 #ввод и переменные
for i in array:
if len(bin(i)[2:]) == 4: res += i; res1 += 1 #пробегаемся по массиву и смотрим подходит ли элемент в двоичном представлении
try:
print(res / res1) #если не было подходящих будет деление на 0, поэтому я использовал try except
except: print(0) #ну если все же подходящих не было выводим 0
если уже в 2:
array = list(map(int, input().split())); res = 0; res1 = 0
for i in array:
if len(str(i)) == 4: res += i; res1 += 1
try:
print(res / res1)
except: print(0)
Вроде бы как-то так
uses crt;
type
massiv = array [1..100] of integer; // объявляем свой тип данных
var
mass : massiv ;
sum, proiz , i , n: integer;
begin
clrscr;
write('Введите длину массива : '); readln(n);
sum := 0 ;
proiz := 1 ; // единица потому что у нас умножение, если умножать на 0 будет 0 всегда!!
for i:=1 to n do
begin
write('Введите ', i , ' элемент : '); readln(mass[i]);
if (mass[i] mod 2 = 0) then sum := sum + mass[i]
else proiz := proiz * mass[i];
end;
writeln('Сумма четных равна ', sum);
writeln('Произведение нечетных равно ', proiz);
readln; // чтобы программа не закрывалась
end.