Ahau
05.04.2020 08:27

найти ошибку в коде на Python:

Смысл кода в том, чтобы найти в списке(массиве) число, повторенное наибольшее количество раз, если таких чисел несколько, вывести любое.

a=list(map(int,input().split()))

idx=0

for i in range(len(a)-1):

n=a.count(a[i])

n1=a.count(a[i+1])

if n>n1:

idx=a[i]

elif n
idx=a[i+1]

if idx==0:

print(max(a))

else:

print(idx)

табуляция убрана сайтом, проблема не в ней

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Nightmare5467
12.08.2022 09:51

Создать файл X компонентами которого являются элемента массива M. Переписать из файла X в файл Y все компоненты, которые стоят на четных местах. Прочитать файл Y.

M = (0,1; 5,6; 0.8; 2,4; 7,3; 6,8; 0,5; 2,3;)

Решение

 

Описание переменных:  

M - массив-константа;

x, y - переменные, связанные с типизированными файлами;

n - считанное из файла очередное число;

i - счетчик.

Алгоритм решения задачи:  

Создать константу-массив, присвоив ей заданные значения массива.

Связать файловые переменные с соответствующими файлами.

Открыть файл X на запись. Записать в него все элементы массива. Закрыть файл.

Открыть файл X на чтение, а файл Y на запись. Присвоить счетчику значение 1. Пока не будет достигнут конец файла X, считывать из него очередное число. Если при этом счетчик имеет четное значение, то записывать число в файл Y. После считывания и проверки на четность номера очередного числа, увеличивать счетчик на 1. После того как файл X будет прочитан, закрыть оба файла.

Открыть файл Y на чтение. Пока не будет достигнут его конец, считывать из него очередное число и выводить его на экран. После завершения цикла закрыть файл.

Программа на языке Паскаль:  

 

const M: array[1..8] of real = (0.1, 5.6, 0.8, 2.4, 7.3, 6.8, 0.5, 2.3);

var  

   x,y : file of real;

   n: real;

   i: byte;

begin

   assign(x,'x.dat');

   assign(y,'y.dat');

 

   rewrite(x);

   for i:=1 to 8 do

       write(x, M[i]);

   close(x);

 

   reset(x);

   rewrite(y);

   i := 1;

   while not EOF(x) do begin

       read(x, n);

       if not odd(i) then

           write(y, n);

       i := i + 1;

   end;

   close(x);

   close(y);

 

   reset(y);

   while not EOF(y) do begin

       read(y, n);

       write(n:5:1);

   end;

   writeln;

   close(y);

Объяснение:

0,0(0 оценок)
Ответ:
egorcop
17.05.2021 22:04
Begin
  var a: integer;
  readln(a);
  for i: integer := 1 to abs(a) do
    if (a mod i = 0) then
      writeln('> ', i);
end.

function Simple(a: integer): boolean;
begin
  result := true;
  for i: integer := 2 to (a div 2) do
    if (a mod i = 0) then
     begin
      result := false;
      break;
    end;
end;

begin
  var a: integer;
  readln(a);
  writeln(Simple(a));
end.

var
  a: integer;

begin
  readln(a);
  for i: byte := length(a.ToString()) downto 1 do
    write(a.ToString()[i]);
end.

function Simple(a: integer): boolean;
begin
  result := true;
  for i: integer := 2 to (a div 2) do
    if (a mod i = 0) then
     begin
      result := false;
      break;
    end;
end;

function par(a: integer): string;
begin
  for i: byte := length(a.ToString()) downto 1 do
    result += a.ToString()[i];
end;

  
begin
  var a: integer;
  readln(a);
  for i: integer := 1 to abs(a) do
    if ((a mod i = 0) and (Simple(a)) and (par(a) = inttostr(i))) then
      writeln('> ', i);
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота