Предмет: Информатика, автор: armadevskiy

Напишите программу которая находит среднее арифметическое всех элементов массива двоичная запись которых содержит ровно 4 цифры. Python.
Очень прошу, помогите!​

Ответы

Автор ответа: Xiada
2

если числа изначально в 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)

Вроде бы как-то так

Приложения:

armadevskiy: не работает
armadevskiy: пишет инвалид
Xiada: А можно входные данные узнать?
Xiada: Или оно в принципе ошибку выдает? А, кажется понял... Сейчас
armadevskiy: Окей
Xiada: Я понял, с отступами беда короче
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)
except: print(0)
Xiada: Я там добавил фото как должно выглядеть
armadevskiy: ок спасибо
Похожие вопросы