aboutsummaryrefslogtreecommitdiff
path: root/challenge-172/sgreen/python/ch-2.py
diff options
context:
space:
mode:
authorSimon Green <mail@simon.green>2022-07-10 20:34:06 +1000
committerSimon Green <mail@simon.green>2022-07-10 20:34:06 +1000
commit72aca2620e73ef772c725fd927e56960ef2fa964 (patch)
treec0ffce8d23c68b41920308ea78585894726f4884 /challenge-172/sgreen/python/ch-2.py
parent0359ead5987568ba01e6a3977aee9406f9b90818 (diff)
downloadperlweeklychallenge-club-72aca2620e73ef772c725fd927e56960ef2fa964.tar.gz
perlweeklychallenge-club-72aca2620e73ef772c725fd927e56960ef2fa964.tar.bz2
perlweeklychallenge-club-72aca2620e73ef772c725fd927e56960ef2fa964.zip
sgreen solutions to challenge 172
Diffstat (limited to 'challenge-172/sgreen/python/ch-2.py')
-rwxr-xr-xchallenge-172/sgreen/python/ch-2.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/challenge-172/sgreen/python/ch-2.py b/challenge-172/sgreen/python/ch-2.py
new file mode 100755
index 0000000000..c9162d1604
--- /dev/null
+++ b/challenge-172/sgreen/python/ch-2.py
@@ -0,0 +1,34 @@
+#!/usr/bin/env python
+
+import sys
+
+
+def get_value(l, quart):
+ # Calculate the position of the value we require
+ pos = (len(l)-1) * quart / 100
+ i = int(pos)
+
+ if i == pos:
+ # It is a single value
+ return l[i]
+
+ # We need the average of two numbers
+ val = (l[i] + l[i+1]) / 2
+ return int(val) if int(val) == val else val
+
+
+def main(l):
+
+ # Sort the list
+ l = sorted([int(x) for x in l])
+ solution = []
+
+ # Calculate the five values
+ for quart in range(0, 101, 25):
+ solution.append(get_value(l, quart))
+
+ print(*solution, sep=', ')
+
+
+if __name__ == '__main__':
+ main(sys.argv[1:])