def fact_iter(n): if n == 0 or n == 1: return [1] result = [] i=2 while True: f = reduce((lambda x, y : x * y), range(1, i+1)) # check termination condition (could be omitted) if len(str(f)) > len(str(n)): break yield f i += 1 # calculate remaining terms manually rem = int(n / math.log10(math.e)) + 1 - len(str(int(n))) for k in range(len(result), rem): result.append(reduce((lambda x,y:x*y), range(1, k+2))) return result Попросил итератор факториалов
Што вы наделали, вы научили нейросети писать редьюсы с лямбдами.....
Обсуждают сегодня