Much simpler :
instead of concatenating strings, you can use format again
for i in range(6, 0, -1):
print("{0:>{1}}".format("#", i))
Try it in idle:
>>> for i in range(6, 0, -1): print("{0:>{1}}".format("#", i))
#
#
#
#
#
#
Or even fstring (as Florian Brucker suggested - I'm not an fstrings lover, but it would be incomplete to ignore them)
for i in range(6, 0, -1):
print(f"{'#':>{i}}")
in idle :
>>> for i in range(6, 0, -1): print(f"{'#':>{i}}")
#
#
#
#
#
#
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…