我已经成功创建了一个使用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
将打印出以下结果:
*
**
***
****
*****
我想知道如何简化此代码以提高效率。
答案 0 :(得分:2)
基本上,你仍然需要跟踪你所在的行,然后再做一些数学运算,看看应该有多少*和''。希望这会有所帮助。
myLen = 5
i = 1
while myLen >= i:
print( ("*" * i).rjust(myLen) )
i += 1