Чтобы напечатать шаблон в Python, используя цикл for - PullRequest
1 голос
/ 06 октября 2019

Я пробовал различные программы, чтобы получить требуемый шаблон (приведенный ниже). Программа, которая наиболее близка к требуемому результату, приведена ниже:

Ввод:

for i in range(1,6):
    for j in range(i,i*2):
        print(j, end=' ')
    print( )

Выход:

1 
2 3 
3 4 5 
4 5 6 7 
5 6 7 8 9 

Требуемый вывод:

1
2 3
4 5 6
7 8 9 10 

Могу ли я получить подсказку, чтобы получить требуемый вывод?

Примечание - новичок в python.

Ответы [ 2 ]

1 голос
/ 06 октября 2019

Сохраните напечатанное значение вне цикла, затем увеличивайте после его напечатанного

v = 1
lines = 4
for i in range(lines):
    for j in range(i):
        print(v, end=' ')
        v += 1
    print( )
0 голосов
/ 06 октября 2019

Если вы не хотите отслеживать счет и решать это математически и иметь возможность напрямую вычислять любую n-ю строку, то формула, которую вы ищете, - это, ну, для треугольных чисел :

triangle = lambda n: n * (n + 1) // 2
for line in range(1, 5):
    t = triangle(line)
    print(' '.join(str(x+1) for x in range(t-line, t)))
# 1
# 2 3
# 4 5 6
# 7 8 9 10
...