todo: 验证(1 + 2 + 3 + ... + n)^2 = 1^3 + 2^3 + 3^3 ... + n^3 巧用next(generator)

时间:2021-02-02 11:34:10   收藏:0   阅读:0

1.先定义生成器

2.用next(generator)调用生成器,相加,验证

# todo: define my_generater and be called by next()

def my_generater(k):
    i = 1
    while True:
        yield i ** k
        i += 1


gen_1 = my_generater(1)
gen_3 = my_generater(3)


# todo: (1 + 2 + 3 + ... + n)^2 = 1^3 + 2^3 + 3^3 ... + n^3
def get_sum(n):
    sum_1, sum_3 = 0, 0
    for i in range(n):
        i_value_1 = next(gen_1)
        i_value_3 = next(gen_3)

        sum_1 += i_value_1
        sum_3 += i_value_3
        print(sum_1 * sum_1 : {}, sum_3: {}.format(sum_1 * sum_1, sum_3))


get_sum(8)

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!