Обновление данных в реальном времени

Вот моя попытка:

def generate_pascal_triangle(rows):
    if rows == 1: return [[1]]

    triangle = [[1], [1, 1]] # pre-populate with the first two rows

    row = [1, 1] # Starts with the second row and calculate the next

    for i in range(2, rows):
        row = [1] + [sum(column) for column in zip(row[1:], row)] + [1]
        triangle.append(row)

    return triangle

for row in generate_pascal_triangle(6):
    print row

Обсуждение

  • Первые две строки треугольника жестко закодированы
  • zip() в основном пары двух соседних чисел вместе
  • Нам еще нужно добавить 1 к началу и еще один к концу, потому что вызов zip() порождает только среднюю часть следующей строки
0
задан evyamiz 25 February 2015 в 09:25
поделиться