你快到了;您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
。