diff options
Diffstat (limited to 'challenge-112/abigail/python')
| -rw-r--r-- | challenge-112/abigail/python/ch-1.py | 24 | ||||
| -rw-r--r-- | challenge-112/abigail/python/ch-2.py | 21 |
2 files changed, 45 insertions, 0 deletions
diff --git a/challenge-112/abigail/python/ch-1.py b/challenge-112/abigail/python/ch-1.py new file mode 100644 index 0000000000..bf52e6d83c --- /dev/null +++ b/challenge-112/abigail/python/ch-1.py @@ -0,0 +1,24 @@ +#!/opt/local/bin/python + +# +# See ../README.md +# + +# +# Run as: python ch-1.py < input-file +# + +import fileinput + +for line in fileinput . input (): + parts = line . rstrip () . split ("/") # Split input on / + parts2 = [] + for part in parts: + if part == "" or part == ".": # Skip empty parts, + continue # and current directory. + if part == "..": # Pop parent directory + if len (parts2): + parts2 . pop () + continue + parts2 . append (part) # Else, append. + print ("/" + "/" . join (parts2)) # Print result. diff --git a/challenge-112/abigail/python/ch-2.py b/challenge-112/abigail/python/ch-2.py new file mode 100644 index 0000000000..3e2a55750d --- /dev/null +++ b/challenge-112/abigail/python/ch-2.py @@ -0,0 +1,21 @@ +#!/opt/local/bin/python + +# +# See ../README.md +# + +# +# Run as: python ch-1.py < input-file +# + +import fileinput + +cache = {0: 1, 1: 1} + +def fib (n): + if not n in cache: + cache [n] = fib (n - 1) + fib (n - 2) + return (cache [n]) + +for line in fileinput . input (): + print (fib (int (line))) |
