“Var
i,j,n,k: integer;
Begin
Writeln('n=');
Readln(n);
for i:=2 to n do
begin
if n mod i=0 then
begin
k:=0;
for j:=2 to (i div 2) do
if i mod j=0 then k:=k+1;
if k=0 then writeln(i);
end;
end;
end.”
Суть в том, чтобы мне нужно перевести её на Python. Я переписал код с учётом синтаксиса языка Python. Она компилируется. Ввожу для проверки число 42(в результате пользователь должен получит числа 2,3,7). Но программа выводит ошибку:
“Input n:42
Traceback (most recent call last):
File ”D

if (n%i)==0:
ZeroDivisionError: integer division or modulo by zero”
Я начал читать мануалы по ошибке и во многих местах написано, что я провожу деление на ноль(хотя, если я что-то и понимаю, в чём я теперь очень сомневаюсь,деления на ноль в программе и нет вовсе).
Код прилагается:
i=2 j=2 n=int(input('Input n:')) for i in range(n): if (n%i)==0: k=0 for j in n%2: if i%j==0: k=k+1 if k==0: print(i)