Простая рекурсивная функция не работает хорошо

Я нашел, что он отлично работает, используя display: block; на изображении и вертикально-выровнять: верх; на текст.

.imagebox {
    width:200px;
    float:left;
    height:88px;
    position:relative;
    background-color: #999;
}
.container {
    width:600px;
    height:176px;
    background-color: #666;
    position:relative;
    overflow:hidden;
}
.text {
    color: #000;
    font-size: 11px;
    font-family: robotomeduim, sans-serif;
    vertical-align:top;
    
}

.imagebox img{ display:block;}
Image title
Image title
Image title
Image title
Image title
Image title

или вы можете отредактировать код a JS FIDDLE

0
задан Andras Deak 15 January 2019 в 18:15
поделиться

1 ответ

Проблема заключается в том, как вы генерируете свою продукцию и как вы интерпретируете свою продукцию. Вот эквивалентная функция Python, которая генерирует тот же результат:

def recursiveFunction1(callHierarchie):
    callHierarchie = callHierarchie + 1
    print("{:>6}".format(callHierarchie + 100))

    for n in range(1, 4):
        print("{:>6}".format(n))
        if callHierarchie <= 2:
            print('g')
            recursiveFunction(callHierarchie)

recursiveFunction(0)

Люди могут убедиться, что он производит тот же результат. Давайте изменим код на отступ, основываясь на уровне рекурсии:

def recursiveFunction(callHierarchie):
    callHierarchie = callHierarchie + 1
    print(" " * callHierarchie, "{:>6}".format(callHierarchie + 100))

    for n in range(1, 4):
        print(" " * callHierarchie, "{:>6}".format(n))
        if callHierarchie <= 2:
            print(" " * callHierarchie, 'g')
            recursiveFunction(callHierarchie)

Теперь вывод отображается немного по-другому:

% python3 test.py
     101
       1
  g
      102
        1
   g
       103
         1
         2
         3
        2
   g
       103
         1
         2
         3
        3
   g
       103
         1
         2
         3
       2
  g
      102
        1
   g
       103
         1
         2
         3
        2
   g
       103
         1
         2
         3
        3
   g
       103
         1
         2
         3
       3
  g
      102
        1
   g
       103
         1
         2
         3
        2
   g
       103
         1
         2
         3
        3
   g
       103
         1
         2
         3
% 

Вы можете видеть, что n останавливается на 3, но дополнительные числа, которые вы видели, были n на другом уровне рекурсии!

0
ответ дан cdlane 15 January 2019 в 18:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: