lionmost6979
?>

О В городе были проведены N о В каждом о участники ставили "Да" или "Нет". Для каждого о результат считается положительным, если в любом из них количество положительных больше числа отрицательных. Напишите программу, которая выводит результат для каждого из о Вводные данные: в первой строке пишется число N, количество о Затем пишется N строк, на которых написаны числа через пробел. Числа являются 1 или 0, что означает "Да" или "Нет". Выходные данные: для каждого из о на отдельной строке вывести "Positive", если количество 1 больше или равно количеству 0, и "Negative" в противном случае. Напишите данную программу используя функции. Ввод: 5 1 0 0 1 1 0 1 1 0 1 0 1 0 1 Вывод должен быть такой: Positive Positive Positive Negative Positive

Информатика

Ответы

nataliarogacheva

n = int(input())

output = []

for i in range(n):

   x = [int(k) for k in input().split()]

   if (sum(filter(lambda j: j == 1, x))  >= len(x) / 2 ):

       output.append('Positive')

   else:

       output.append('Negative')

for i in output:

   print(i)

Оздоевский
Замечание. Так как количество вводимых чисел заранее не известно, то откроем бесконечный цикл со всегда верным условием True, но как только будет введено число 0, остановим цикл командой break.

Программа:

program z;
var k,s,x:integer;
begin
k:=0;              {начальное значение количества двузначных чисел}
s:=0;              {начальное значение суммы двузначных чисел}
while True do  {открываем бесконечный цикл}
begin
readln(x);        {вводим число х}
if x=0 then break;  {если введенное число равно 0, то остановить цикл}
if (x>9)and(x<100) then  {если число двузначное, т.е. от 10 до 99} 
    begin 
    k:=k+1;         {количество увеличиваем на 1}
    s:=s+x;         {увеличиваем предыдущее значение суммы на число х}
    end;
end;
if k=0 then writeln('NO')  {если двузначных чисел не было, то вывод NO}
   else writeln(s/k);          {иначе вывод ср.арифметического}
end.
ilyxa08

#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

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

О В городе были проведены N о В каждом о участники ставили "Да" или "Нет". Для каждого о результат считается положительным, если в любом из них количество положительных больше числа отрицательных. Напишите программу, которая выводит результат для каждого из о Вводные данные: в первой строке пишется число N, количество о Затем пишется N строк, на которых написаны числа через пробел. Числа являются 1 или 0, что означает "Да" или "Нет". Выходные данные: для каждого из о на отдельной строке вывести "Positive", если количество 1 больше или равно количеству 0, и "Negative" в противном случае. Напишите данную программу используя функции. Ввод: 5 1 0 0 1 1 0 1 1 0 1 0 1 0 1 Вывод должен быть такой: Positive Positive Positive Negative Positive
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Игоревна
Zebra198383
irnik65
diana0720
Aleksandr72
shmidt
savenko0109152
fil-vasilij90
bg1967bg
lbondareva
aistenok-28
krasa28vostok65
Irinagarmonshikova
arammejlumyan
Кириллов57