Найти - Пользователи
Полная версия: Пожалуйста, помогите перевести с Паскаля на Питон.
Начало » Центр помощи » Пожалуйста, помогите перевести с Паскаля на Питон.
1 2
Konkord
Уважаемые форумчане, доброго времени суток)
Пожалуйста, помогите написать программу, которая для каждого натурального числа в промежутке от m до n выводит все делители, кроме единицы и самого числа. m и n вводятся с клавиатуры. Питон я изучаю недавно, а Паскаль дольше и знаю его немного лучше.
program delitel;
var
m,n,i: integer;
begin
writeln('Введите m и n');
readln(m,n);
while m <= n do begin
write(m,': ‘);
for i:=2 to m-1 do begin
if m mod i = 0 then write(i,’ ');
end;
writeln;
m := m + 1;
end;
readln;
end.
terabayt
третий пайтон?
terabayt
print '\n'.join([str(i) + ' >> ' + ' '.join([str(j) for j in range(2, i) if not i % j]) for i in range(int(input('m = ')), int(input('n = ')))])
NotDeadAlready
Единицу к m добавить забыли. Да и вообще перегружено, ИМХО. Логика и вывод должны быть отделены.

def divisors(n, m):
    return [[j for j in range(2, i) if i % j == 0] for i in range(n, m + 1)]
for i in divisors(1, 9):
    if len(i) == 0:
        print('-')
    else:
        print(' '.join(map(str, i)))

P.S. Почему этот форум сжирает пустые строки? Это экономия чего, пикселей? Всякое я видал, но такое!..
4kpt_III
NotDeadAlready
if len(i) == 0:
NotDeadAlready
if i % j == 0

Улыбнуло…

Да и вообще

for i in divisors(1, 9):
    if len(i) == 0:
        print('-')
    else:
        print(' '.join(map(str, i)))

Мощно.
terabayt
NotDeadAlready
Единицу к m добавить забыли
ну не к m а к n
Konkord
m и n вводятся с клавиатуры

NotDeadAlready
Это экономия чего, пикселей? Всякое я видал, но такое!..
не думаю что вы много видели…

4kpt_III
Улыбнуло…
Да и вообще
Мощно.
Вы ничего не понимаете )
NotDeadAlready
Синтаксис Питона сосредоточил в себе несуразности Лиспа и Фортрана


4kpt_III
terabayt
Согласен. Как для человека, который так подписался - слишком много говнокода.

P.S. И да. Про генераторы он тоже ничего не слышал…
NotDeadAlready
И да. Про генераторы он тоже ничего не слышал…

Телепат вернулся из отпуска?
4kpt_III
Вы говнокодик подчистите, тогда и телепатией заниматься не придется. Написать функцию, которая возвращает список, там где должен быть генератор именно приводит к таким выводам.
NotDeadAlready
Ничего я чистить не собираюсь, особенно когда со мной разговаривают в таком тоне. Понятие генератора я самостоятельно и независимо изобрел еще когда был подростком и писал на Форте для Спектрума. Тогда не было ни интернетов, ни книг нормальных. Подозреваю, что Вас на свете тоже тогда еще не было.

А я еще пытался вспомнить, почему я на этот сайт не заходил так долго, что даже забыл, что у меня здесь аккаунт есть. Хотел зарегистрироваться - а мне говорят, почтовый ящик такой уже используется. Я восстанавливаю пароль - и он приходит на почту. Видимо, в прошлый раз с таким же знатоком познакомился и решил знакомство не продолжать. Как бы так себя забанить, чтобы потом, лет через 5-6, я опять здесь не оказался случайно? Пайтон для меня не единственный и даже не главный инструмент, обойдусь как-нибудь. Я лучше на англоязычном форуме зарегистрируюсь, там такого нет, знаю по опыту общения на форуме по С/С++. Американцы ж туупыые - даже не знают, что в интернете надо оскорблять.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB