你快到了;您12345一遍又一遍地打印数字,而不是使用count,它在第一个循环中从 0 到 4,在第二个循环中从 0 到 3 等。
您想打印count自己,但要么添加一个,要么调整它循环运行的范围从 1 到i + 1:
def print_figure():
for i in range(5, 0, -1):
for count in range(1, i + 1):
print(count, end='')
print()
或使用:
def print_figure():
for i in range(5, 0, -1):
for count in range(i):
print(count + 1, end='')
print()
演示:
>>> def print_figure():
... for i in range(5, 0, -1):
... for count in range(1, i + 1):
... print(count, end='')
... print()
...
>>> print_figure()
12345
1234
123
12
1
另一种方法是使用字符串'12345'并对其进行索引;'12345'[0]是'1',等等:
def print_figure():
for i in range(5, 0, -1):
for count in range(i):
print('12345'[count], end='')
print()
但是你可以只使用切片并完全摆脱嵌套循环:
def print_figure():
for i in range(5, 0, -1):
print('12345'[:i])
因为'12345'[:3]返回字符串的前 3 个字符,printing 123。