n是三角形的总行数,i是第多少行,先打印n-i个空格,然后打印2i-1个星号,最后换行开始打印下一行
n = int(input("请输入要打印的行数"))
i = 1
while i <= n:
j = 1
while j <= n-i:
print(" ",end="") # 打印n-i个空格
j += 1
k = 1
while k <= 2*i-1:
print("*",end="") # 打印2i-1个星号
k += 1
print("") # 换行
i += 1
大体与等腰三角形类似,具体不同之处请看代码
n = int(input("请输入要打印的行数"))
i = 1
while i <= n:
j = 1
while j <= n - i:
print(" ",end="") # 打印n-i个空格
j += 1
k = 1
while k <= 2*i-1:
if k == 1 or k == 2*i-1 or i == n: # 当k等于1或2i-1(第一个或最后一个)或i等于n(最后一行)时打印星号
print("*",end="")
else:
print(" ",end="") # 否则打印空格
k += 1
print("")
i += 1
可以试着在纸上画一下,比较容易看出规律。