НА ПИТОНЕ
Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое трёхзначных чисел или сообщает, что таких чисел нет (выводит NO). Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).
Программа должна вывести среднее арифметическое трёхзначных чисел или вывести NO, если таких чисел нет.
Пример работы программы:
10
125
120 122.5
0
11
1 NO
0
Answers & Comments
Ответ:
Первый вариант (с помощью массива):
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)
Verified answer
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)