简化反向三角形代码(While循环)

时间:2016-10-27 16:36:28

标签: python

我已经成功创建了一个使用while循环打印水平翻转三角形的代码。现在虽然它有效,但我想知道我是否可以简化这一点,即不使用"商店"变量。但我想用while循环来保持它

目前的代码是:

myLen = int(input("Enter the number of rows: "))
while myLen < 1 or myLen> 40:
      print("The number of rows must be greater than 1 and less than 40")
      myLen = int(input("Enter the number of rows: "))

myNewLen=1
store=myLen
while myNewLen <=store:
      print((" "*(myLen-1))+"*" * myNewLen)
      myNewLen=myNewLen+1
      myLen=myLen-1

将打印出以下结果:

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

我想知道如何简化此代码以提高效率。

1 个答案:

答案 0 :(得分:2)

基本上,你仍然需要跟踪你所在的行,然后再做一些数学运算,看看应该有多少*和''。希望这会有所帮助。

myLen = 5
i = 1
while myLen >= i:
    print( ("*" * i).rjust(myLen) )
    i += 1