あなたはほとんどそこにいました。最初のループで 0 から 4 まで、2 番目のループで 0 から 3 までの範囲12345
の を使用する代わりに、数値を何度も出力しています。count
それ自体を印刷したい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
もう 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
です。