-4

我将如何编写一个产生这样的三角形的函数:

    x
   xx
  xxx
 xxxx
xxxxx

假设函数是def triangle(n),底行将有nx 的数量

我所知道的就是制作一个盒子:

n = 5
for k in range(n):
    for j in range(n):
        print('x', end='')
    print()
4

5 回答 5

3

老兄这超级简单:

def triangle(n):
    for i in range(1, n +1):
        print ' ' * (n - i) + 'x' * i

甚至:

def triangle(n):
    for i in range(1, n +1):
        print ('x' * i).rjust(n, ' ')

输出triangle(5)

    X
   xx
  xxx
 xxxx
xxxxx

不要只是复制此代码而不理解它,尝试并了解它是如何工作的。通常,练习学习编程语言的好方法是尝试不同的问题并看看如何解决它。我推荐这个网站,因为我刚开始编程时经常使用它。

而且,如果你不知道怎么做,不要只发布你的作业或类似的东西,只有当你被卡住时。首先尝试想很多你认为可以解决问题的方法,如果你不知道如何完成某项特定任务,只需查找并从中学习。

于 2012-12-17T05:56:59.367 回答
0

这是您可以对程序进行的小改动

n = 5
for k in range(n):
    for j in range(n):
        print('x' if j+k >= n-1 else ' ', end='')
    print()

不过,这不是一个很好的方法。你应该考虑使用这样的东西一次打印一个整体

n = 5
for k in range(n):
    i = ???
    j = ???
    print(' '*i+'x'*j)

你只需要锻炼ij

于 2012-12-17T05:24:50.010 回答
0
hight = 5
for star in range(hight):
    for num in range(hight):
        print('*' if num+star >= hight-1 else ' ', end='')
    print()
于 2016-03-14T09:20:56.897 回答
0

回答:

def triangle(i, t=0):
    if i == 0:
        return 0
    else:
        print ' ' * ( t + 1 ) + '*' * ( i * 2 - 1 )
        return triangle( i - 1, t + 1 )
triangle(5) 

输出:

* * * * * * * * *
   * * * * * * *
     * * * * *
       * * * 
         *
于 2016-09-07T15:32:31.067 回答
0
def triangle(n):
    x = ('')
    for i in range(n, 0, -1):
        x += '*'
        print(' ' * (i + 1) + x)
于 2021-06-11T15:41:07.630 回答