#arr = [*map(int, input().split(' 0')[0].split())] если числа вводятся в строчку , то раскомментируйте и используйте эту строку, а инициализацию массива arr и цикл while закомментируйте
arr = []
while 1:
tmp = int(input())
if tmp != 0: # Читаем сколько угодно чисел пока не будет ноль
arr.append(tmp)
else:
break
s = 0 # сумма двузначных чисел
k = 0 # количество двузначных чисел
for i in arr:
if 10 <= i <= 99: # итерируемся по циклу и если число двузначное
s += i # то прибавляем его к сумме
k += 1 # счетчик двузначный чисел увеличиваем на один
print(s/k) if k > 0 else print('NO') #если количество двузначных > 0 то выводим среднее арифметическое s/k, если нет то выводим NO
Поделитесь своими знаниями, ответьте на вопрос:
Используя любой метод сортировки, отсортируйте все элементы массива, расположенные на четных местах, по убыванию. остальные элементы оставьте без изменения. считайте, что нумерация элементов массива начинается с 1. (на языке программирования pascal)
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
var t:=a.Partition((x,i)->i.IsEven);
var s:=t[0].Interleave(t[1].OrderByDescending(x->x));
if a.Length.IsOdd then a:=s.ToArray+Arr(a.Last)
else a:=s.ToArray;
a.Println
end.
Примеры
n= 14
42 -8 41 -26 -28 -44 -27 -24 13 -20 16 19 37 -26
42 19 41 -8 -28 -20 -27 -24 13 -26 16 -26 37 -44
n= 15
-21 41 32 8 -23 23 23 9 35 45 -42 37 -11 -8 22
-21 45 32 41 -23 37 23 23 35 9 -42 8 -11 -8 22