aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWalt Mankowski <waltman@pobox.com>2020-08-04 18:42:07 -0400
committerWalt Mankowski <waltman@pobox.com>2020-08-04 18:42:07 -0400
commit6a64030370705d226c26d2b71a539578c328bc15 (patch)
tree8e4aa8d247131e0058c815303dc12834b9e8d83f
parent01179ecdb6bd942376e7b35d611d5e53b14be34c (diff)
downloadperlweeklychallenge-club-6a64030370705d226c26d2b71a539578c328bc15.tar.gz
perlweeklychallenge-club-6a64030370705d226c26d2b71a539578c328bc15.tar.bz2
perlweeklychallenge-club-6a64030370705d226c26d2b71a539578c328bc15.zip
python code for challenge 72
initial draft
-rw-r--r--challenge-072/walt-mankowski/python/ch-1.py21
-rw-r--r--challenge-072/walt-mankowski/python/ch-2.py12
2 files changed, 33 insertions, 0 deletions
diff --git a/challenge-072/walt-mankowski/python/ch-1.py b/challenge-072/walt-mankowski/python/ch-1.py
new file mode 100644
index 0000000000..51106843ad
--- /dev/null
+++ b/challenge-072/walt-mankowski/python/ch-1.py
@@ -0,0 +1,21 @@
+from sys import argv
+
+def fact(n):
+ res = 1
+ for i in range(2, n+1):
+ res *= i
+ return res
+
+def num_trailing_zeros(n):
+ cnt = 0
+ pwr = 10
+ while n % pwr == 0:
+ cnt += 1
+ pwr *= 10
+ return cnt
+
+n = int(argv[1])
+f = fact(n)
+z = num_trailing_zeros(f)
+zeros = "zero" if z == 1 else "zeros"
+print(f"{n} as N! = {f} has {z} trailing {zeros}")
diff --git a/challenge-072/walt-mankowski/python/ch-2.py b/challenge-072/walt-mankowski/python/ch-2.py
new file mode 100644
index 0000000000..abc3f4e85c
--- /dev/null
+++ b/challenge-072/walt-mankowski/python/ch-2.py
@@ -0,0 +1,12 @@
+from sys import argv
+
+fname, a, b = argv[1:5]
+a = int(a)
+b = int(b)
+
+with open(fname) as f:
+ lineno = 1
+ for line in f:
+ if a <= lineno <= b:
+ print(line, end='')
+ lineno += 1