1

我正在尝试使用嵌套的 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 循环以使这项工作正常进行,而且我已经尝试了一段时间,因此非常感谢您的帮助。

4

3 回答 3

1

我的看法是这样的:

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

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

于 2013-09-26T17:40:59.830 回答
1

您可以使用reversed range

u=int(raw_input('Number:'))
for i in reversed(range(1,u)):
    print ' '*(u-i),'*'*i
于 2013-09-26T17:47:34.367 回答
0

我知道这是一个很长的时间,但我想分享我对这个问题的处理方法。

def pattern(size):
    for i in reversed(range(1, size+1)):
        print("*" * i)
于 2014-10-24T03:44:38.220 回答