生成具有重复模式的序列的代码

Code to produce a sequence with repeating pattern

我需要一个代码来执行以下给出数字 x 的序列:

def sequence(number):
    result = 1
    minus = 2
    for i in range(1,number+1):
        for j in range(1, i+4):
            print(result)
            result += 2
        if i%2==0:
            minus += 1
            result -= minus

为什么不在外循环结束时显式减少结果?

def sequence(number):
    result = 1
    for i in range(1, number+1):
        for j in range(1, i+4):
            print(result, end=' ')
            result += 2
        result -= 4
    print()

如果您使用数字 1 到 5 调用它,则会产生以下结果。也就是说,但是,假设您希望在每次迭代中将序列增加一个项目。您的代码表明了这一点,但后两种情况下的示例有所不同。如果示例正确,您必须从第三步开始保持 i 范围不变。

1 3 5 7 
1 3 5 7 5 7 9 11 13 
1 3 5 7 5 7 9 11 13 11 13 15 17 19 21 
1 3 5 7 5 7 9 11 13 11 13 15 17 19 21 19 21 23 25 27 29 31 
1 3 5 7 5 7 9 11 13 11 13 15 17 19 21 19 21 23 25 27 29 31 29 31 33 35 37 39 41 43