Исправьте ошибку

Как известно, абсолютное большинство людей считают себя умнее среднего.

Измерим IQ нескольких человек. Для каждого из них рассчитаем, действительно ли его IQ превышает средний IQ по имеющимся на момент его опроса данным.

IQ (коэффициент интеллекта), определяющийся по специальным тестам — не универсальная мера интеллекта, но мы для простоты воспользуемся именно ею.

Формат ввода На первой строке вводится натуральное число n — количество тестируемых людей.

Далее следуют n строк, на каждой из которых указано натуральное число — IQ n-го человека.

Формат вывода Для каждого из людей выведите на отдельной строке символ “>”, если его IQ превышает средний IQ всех его предшественников, символ “<”, если он меньше среднего, или “0”, если равен среднему. Для первого из опрошенных, пока данных ещё недостаточно, тоже выводите 0.

n = int(input())
count = 0
for i in range(n):
   a = int(input())
   if i == 0:
      print(0)
   if i != 0:
      count = (count + a) / i
      if count > a:
          print("<")
      elif count <= a:
          print(">")

тест ,который в примере дан, программа успешно проходит, а вот другой нет:введите сюда описание изображения


Ответы (1 шт):

Автор решения: CrazyElf
count = (count + a) / i

Так у вас ерунда получится, а не среднее в итоге. Считайте сумму в отдельной переменной, а для проверки уже делите.

count += a
avg_iq = count / i
if a < avg_iq:
...

И на = отдельно проверку добавьте, timur прав.

P.S. Написав сначала про деление на i+1 я был не прав - там же предшественники учитываются, текущий элемент не надо учитывать, делим на i.

→ Ссылка