Но лучше в фукнцию запихать и return
не лучше, кода две с половиной строчки
Функции короткие писать тоже вполне нормально
я понимаю, но не тот случай
тут так лучше, IMHO def factors(n: int, with_one: bool=False, with_own: bool=False) -> Dict: remainders = defaultdict(lambda: 0) if with_own: remainders[n] = 1 for p in primes(sqrt(n + 1)): pp = p * p while n in range(pp, n + 1, p * 2): remainders[p] += 1 n = n // p if n < pp: break else: continue break remainders[n] += 1 if with_one: remainders[1] = 1 return dict(remainders)
Модно эти два цикла засунуть в функцию прямо там. Будет самый раз
это я понял, мне так не нравится
Эм я бы порезал, мне лично тяжело читать. Кстати, все-таки remainders наверное?
да, конечно. Спасибо! :)
И вообще, это не остатки, а делители
оказало, во внутреннем цикле мне эта проверка вообще не нужна и даже вредна
Обсуждают сегодня