在python中反转颠倒的星号三角形

时间:2013-09-26 17:31:13

标签: python geometry

我正在尝试使用嵌套for循环来询问用户一个整数,然后程序将输出一个反向的颠倒三角形,其底部有星号数并向下运行。 它应该是这样的:

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

我的代码:

def pattern():
  integer = requestInteger("Please enter a number")
  for number in range(0, integer):
    for variable in range(integer, 0, -1):
      if variable - 1 > number:
        sys.stdout.write(' ')
      else:
        sys.stdout.write('*')
  sys.stdout.write('\n')

输出:

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

我不确定如何改变我的for循环以使这项工作,我已经尝试了一段时间,所以非常感谢帮助。谢谢

3 个答案:

答案 0 :(得分:1)

我的看法是这样的:

def pattern():
    integer = int(raw_input("Please enter a number"))
    for number in range(0, integer):
        print " " * number + "*" * (integer - number)

这是家庭作业(嵌套循环是强制性的)吗?提示:*运算符可以很容易地被for循环替换。

答案 1 :(得分:1)

您可以使用reversed range

u=int(raw_input('Number:'))
for i in reversed(range(1,u)):
    print ' '*(u-i),'*'*i

答案 2 :(得分:0)

我知道这是一段时间,但我想分享我对这个问题的看法。

def pattern(size):
    for i in reversed(range(1, size+1)):
        print("*" * i)