简体   繁体   中英

Right triangle using nested for loop python 3.x

I'm trying to output a right triangle with numbers. Here is what I have so far:

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

My output is this

1
22
333
4444
55555
666666
7777777
88888888
999999999

My question is this. Can I make these numbers run in sequence using a nested for loop example:

1
12
123
1234
12345
123456
1234567
12345678
123456789

I've tried about 6 other sets and mostly keep getting the same output or multiple errors. Can anyone help me out with this?

j can do more than a counter:

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

You might want to consider what happens next? This gives you a few ideas.

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()

This cycles through the digits giving you output as follows:

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

Or alternatively:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM