如何在循环中创建新变量

时间:2016-10-04 16:16:18

标签: python jes

我正在尝试创建一个打印以下序列的n行的函数

1  
2 3  
4 5 6  
7 8 9 10  
11 12 13 14 15  
...

这是我到目前为止所做的:

def numTriangle(n):  
    #n = number of rows  
    integers = range(0,n-1)  
    val = 1  
    places = 1  
    for num in integers:  
        print val   
        val = val + 1  

我意识到我需要创建一个循环,在其中打印值,然后添加一个,但也创建一个比前一个更大的新变量并打印原始值+ 1和新变量等等。我如何为每一行创建一个新变量,或者该函数是否还有其他替代方法,例如为每一行打印索引的其他部分?

2 个答案:

答案 0 :(得分:1)

不要为你做功课,但至少要对你的计划有一个基本的描述。这是一个非常小的版本。

def pyramid(n):
    k = 1
    for i in range(n):
        print ' '.join(map(str, range(k, k+i+1)))
        k += i + 1

这是一个更详细的版本。

def pyramid(n):
    k = 1
    for i in range(1, n +1):
        first_number = k
        next_row_first_number = k + i
        numbers = range(first_number, next_row_first_number)
        numbers_as_strings = map(str, numbers)
        line = ' '.join(numbers_as_strings)
        print line
        k = next_row_first_number

多个循环!

def pyramid(n):
    k = 1
    for i in range(1, n +1):
        first_number = k
        next_row_first_number = k + i
        numbers = range(first_number, next_row_first_number)
        line = ""
        for num in numbers:
            line = line + str(num) + ' '
        print line
        k = next_row_first_number

答案 1 :(得分:0)

这会产生你的输出:

n = 6; y= 1;

for i in range(0,n):
    for j in range (0,i):
        print y,
        y = y+1;
    print "\n"

请注意缩进,缩进定义范围。