var
x, numDel, i, j: longint;
d: array[1..2] of longint;
begin
for i := 174457 to 174505 do begin
numDel := 0;
for j := 2 to (i div 2) - 1 do begin
if i mod j = 0 then begin
numDel := numDel + 1;
if numDel > 2 then break;
d[numDel] := j;
end;
end;
if numDel = 2 then writeln(d[1], ' ', d[2]);
end;
end.
#!/usr/bin/env python3
def main():
i_from = 174457
i_to = 174505
target_denominators_count = 2
for i in range(i_from, i_to + 1):
denominators = []
for j in range(2, i // 2):
if i % j == 0:
denominators.append(j)
if len(denominators) > target_denominators_count:
break
if len(denominators) == target_denominators_count:
print(' '.join([str(v) for v in denominators]))
if __name__ == '__main__':
main()
Берете какой либо оператор из паскаля и ищете его аналог в пайтоне. Так же и с функциями и процедурами и классами. Циклы вроде бы такие же. Массивы и типы данных вроде бы тоже.
Это так сказать построчный перевод. Если знать формулу, можно в несколько строк все уложить