From 72aca2620e73ef772c725fd927e56960ef2fa964 Mon Sep 17 00:00:00 2001 From: Simon Green Date: Sun, 10 Jul 2022 20:34:06 +1000 Subject: sgreen solutions to challenge 172 --- challenge-172/sgreen/python/ch-2.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100755 challenge-172/sgreen/python/ch-2.py (limited to 'challenge-172/sgreen/python/ch-2.py') 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:]) -- cgit