我正在尝试创建一个打印以下序列的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和新变量等等。我如何为每一行创建一个新变量,或者该函数是否还有其他替代方法,例如为每一行打印索引的其他部分?
答案 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"
请注意缩进,缩进定义范围。