如何在python中创建x的三角形?

时间:2012-12-17 05:12:42

标签: python function geometry

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

    x
   xx
  xxx
 xxxx
xxxxx

假设函数为def triangle(n),底行将为n x的数量

我所知道的只是做一个盒子:

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

5 个答案:

答案 0 :(得分: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

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

而且,如果你不知道该怎么做,也不要发布你的作业或类似的东西,只有你被卡住了。首先尝试思考你认为可以解决问题的很多方法,如果你不知道如何做一个特定的任务,只需查阅并从中学习。

答案 1 :(得分: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

答案 2 :(得分:0)

hight = 5
for star in range(hight):
    for num in range(hight):
        print('*' if num+star >= hight-1 else ' ', end='')
    print()

答案 3 :(得分: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) 

输出:

* * * * * * * * *
   * * * * * * *
     * * * * *
       * * * 
         *

答案 4 :(得分:0)

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