使用嵌套for循环python 3.x的直角三角形

时间:2015-09-12 12:15:24

标签: python python-3.x

我正在尝试输出带数字的直角三角形。以下是我到目前为止的情况:

for i in range(1, 10):
    for j in range(i):
    print(i, end='')
print()

我的输出是

1
22
333
4444
55555
666666
7777777
88888888
999999999

我的问题是这个。我可以使用嵌套的for循环使这些数字按顺序运行 例如:

1
12
123
1234
12345
123456
1234567
12345678
123456789

我已经尝试了大约6个其他设置,并且大多数时间保持相同的输出或多个错误。任何人都可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

j可以做的不仅仅是一个计数器:

for i in range(1, 10):
    for j in range(i):
        print(j + 1, end='')
    print()

答案 1 :(得分:1)

你可能想考虑下一步会发生什么?这给你一些想法。

import itertools

for i in range(1, 21):
    cycle = itertools.cycle([1,2,3,4,5,6,7,8,9,0])
    for j in range(i):
        print(next(cycle), end="")
    print()

这会循环显示数字,如下所示:

1
12
123
1234
12345
123456
1234567
12345678
123456789
1234567890
12345678901
123456789012
1234567890123
12345678901234
123456789012345
1234567890123456
12345678901234567
123456789012345678
1234567890123456789
12345678901234567890

或者:

for i in range(1, 21):
    for j in range(i):
        print(((j % 10) + 1) % 10, end="")
    print()