#请问,画等腰三角形中的 num = 2 * n -3 以及:b = (num - (n-2) * 2)是啥意义?

请问,画等腰三角形中的 num = 2 * n -3 以及:b = (num - (n-2) * 2)是啥意义?

def print_angle2(n:int):

num = 2 * n -3

while n > 0:

print("{:<{a}}{:*<{b}}".format("","",a = n, b = (num - (n-2) * 2)))

n -= 1

你 num = 2 * n -3 和 b = (num - (n-2) * 2) 公式不太标准

标准公式应该是
 num = 2 * n -1 和 b = (num - (n-1) * 2)

def print_angle2(n:int):
    num = 2 * n -1
    while n > 0:
        print("{:<{a}}{:*<{b}}".format("","",a = n, b = (num - (n-1) * 2)))
        n -= 1



比如n = 4 画4行等腰三角形

    *        第1行1个*号
   ***       第2行3个*号
  *****      第3行5个*号
 *******     第4行7个*号

num 是最后一行*号的个数 2 * n -1 等于 7
b 是每行*号的个数, n会从4 循环到 1

第1次n=4 ,  num - (n-1) * 2  等于 7 - (4-1) * 2  等于 1 ,输出1个*号
第2次n=3 ,  num - (n-1) * 2  等于 7 - (3-1) * 2  等于 3 ,输出3个*号
第3次n=2 ,  num - (n-1) * 2  等于 7 - (2-1) * 2  等于 5 ,输出5个*号
第4次n=1 ,  num - (n-1) * 2  等于 7 - (1-1) * 2  等于 7 ,输出7个*号


你 num = 2 * n -3 和 b = (num - (n-2) * 2) 公式
只是把被减数num少2, 把n少1再*2等同减数也少2
被减数和减数都少2 结果不变,只是公式更难理解了

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img