我已经成功创建了一个代码,使用while循环打印水平翻转的三角形。现在虽然可以使用,但我想知道是否可以简化此操作,即不使用“ store”变量。但是我想使用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
它将打印出以下结果:
*
**
***
****
*****
我想知道如何简化此代码以提高效率。
最佳答案
本质上,您仍然需要跟踪您所在的行,并且只需多做一点数学就可以知道应该有多少个*和“”。希望这可以帮助。
myLen = 5
i = 1
while myLen >= i:
print( ("*" * i).rjust(myLen) )
i += 1
关于python - 简化反向三角代码(循环时),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40289964/