Форум сайта python.su
0
Уважаемые форумчане, доброго времени суток)
Пожалуйста, помогите написать программу, которая для каждого натурального числа в промежутке от 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.
Офлайн
103
третий пайтон?
Офлайн
103
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 = ')))])
Офлайн
0
Единицу к 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)))
Отредактировано NotDeadAlready (Дек. 27, 2014 14:33:38)
Офлайн
39
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)))
Отредактировано 4kpt_III (Дек. 27, 2014 16:35:40)
Офлайн
103
NotDeadAlreadyну не к m а к n
Единицу к m добавить забыли
Konkord
m и n вводятся с клавиатуры
NotDeadAlreadyне думаю что вы много видели…
Это экономия чего, пикселей? Всякое я видал, но такое!..
4kpt_IIIВы ничего не понимаете )
Улыбнуло…
Да и вообще
Мощно.
NotDeadAlready
Синтаксис Питона сосредоточил в себе несуразности Лиспа и Фортрана
Офлайн
39
terabayt
Согласен. Как для человека, который так подписался - слишком много говнокода.
P.S. И да. Про генераторы он тоже ничего не слышал…
Офлайн
0
И да. Про генераторы он тоже ничего не слышал…
Офлайн
39
Вы говнокодик подчистите, тогда и телепатией заниматься не придется. Написать функцию, которая возвращает список, там где должен быть генератор именно приводит к таким выводам.
Офлайн
0
Ничего я чистить не собираюсь, особенно когда со мной разговаривают в таком тоне. Понятие генератора я самостоятельно и независимо изобрел еще когда был подростком и писал на Форте для Спектрума. Тогда не было ни интернетов, ни книг нормальных. Подозреваю, что Вас на свете тоже тогда еще не было.
А я еще пытался вспомнить, почему я на этот сайт не заходил так долго, что даже забыл, что у меня здесь аккаунт есть. Хотел зарегистрироваться - а мне говорят, почтовый ящик такой уже используется. Я восстанавливаю пароль - и он приходит на почту. Видимо, в прошлый раз с таким же знатоком познакомился и решил знакомство не продолжать. Как бы так себя забанить, чтобы потом, лет через 5-6, я опять здесь не оказался случайно? Пайтон для меня не единственный и даже не главный инструмент, обойдусь как-нибудь. Я лучше на англоязычном форуме зарегистрируюсь, там такого нет, знаю по опыту общения на форуме по С/С++. Американцы ж туупыые - даже не знают, что в интернете надо оскорблять.
Офлайн