НА ПИТОНЕ
Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое трёхзначных чисел или сообщает, что таких чисел нет (выводит NO). Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).
Программа должна вывести среднее арифметическое трёхзначных чисел или вывести NO, если таких чисел нет.

Пример работы программы:

10
125
120 122.5
0

11
1 NO
0


DarkTatarin: Пример чисел как-то непонятно написано

Ответы

Ответ дал: DarkTatarin
2

number = int(input())

s = 0

counter = 0

while number != 0:

   if 0 < number // 100 < 10:

       s += number

       counter += 1

   number = int(input())

if counter == 0:

   print("NO")

else:

   print(s / counter)


LevKek: есть пример
LevKek: входные 10, 120,125
LevKek: выход 122,5
LevKek: или входные 11, 1,0
LevKek: выход NO
DarkTatarin: Понял. Сначала я подумал, что в третьей строчке дают число и слово NO
LevKek: ок
DarkTatarin: Перепроверь
LevKek: работает
LevKek: спасибо
Ответ дал: vimmortal2
0

Ответ:

Первый вариант (с помощью массива):

arr = list(map(int, input('').split()))

ar = []

for i in arr:

   if i >= 100 and i <= 1000:

       ar.append(i)

if len(ar) == 0:

   print('NO')

else:

   print(sum(ar)/len(ar))

Второй вариант:

n, summ, length = 1, 1, 0

while n != 0:

   n = int(input())

   if n >= 100 and n <= 1000:

       summ += n

       length += 1

print('NO' if length == 0 else summ/length)

Вас заинтересует