aboutsummaryrefslogtreecommitdiff
path: root/challenge-003/abigail/python/ch-2.py
blob: 76bb1cfc4a5eca1a3a82392156b9fe83912cf20d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/opt/local/bin/python

#
# See https://theweeklychallenge.org/blog/perl-weekly-challenge-003
#

#
# Run as: python ch-2.py < input-file
#

import fileinput
import sys

#
# Iterate over the input
#
for line in fileinput . input ():
    rows = int (line)

    #
    # Create the first row, and print it
    #
    row = [1]
    sys . stdout . write (str (1) + "\n")

    for r in range (1, rows + 1):
        #
        # Create a new row
        #
        new = [None] * (r + 1)   # In Python, arrays don't grow automatically
        for i in range (r + 1):
            sum = 0
            if i > 0:
                sum = row [i - 1]
                sys . stdout . write (" ")
            if i < r:
                sum = sum + row [i]
            new [i] = sum
            sys . stdout . write (str (sum))
        sys . stdout . write ("\n")

        #
        # New row becomes current row
        #
        row = new