diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2025-05-18 23:23:21 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-18 23:23:21 +0100 |
| commit | 36ff7b6646e15c3a76c287ce4d4462b1d251b101 (patch) | |
| tree | 455dae4b742ce019c160038efb79c92d35abed1f /challenge-321/sgreen/python/ch-1.py | |
| parent | 8d1db242e6d28eb45e7fc8963488eee71f687d7b (diff) | |
| parent | 59548f33170863d1b540daa9fed90707a6117a01 (diff) | |
| download | perlweeklychallenge-club-36ff7b6646e15c3a76c287ce4d4462b1d251b101.tar.gz perlweeklychallenge-club-36ff7b6646e15c3a76c287ce4d4462b1d251b101.tar.bz2 perlweeklychallenge-club-36ff7b6646e15c3a76c287ce4d4462b1d251b101.zip | |
Merge pull request #12038 from simongreen-net/master
sgreen solutions to challenge 321
Diffstat (limited to 'challenge-321/sgreen/python/ch-1.py')
| -rwxr-xr-x | challenge-321/sgreen/python/ch-1.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/challenge-321/sgreen/python/ch-1.py b/challenge-321/sgreen/python/ch-1.py new file mode 100755 index 0000000000..3851260f4e --- /dev/null +++ b/challenge-321/sgreen/python/ch-1.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python3 + +from decimal import Decimal +import sys + + +def distinct_average(numbers: list) -> int: + unique_averages = set() + + # Make sure the list is even + if len(numbers) % 2 == 1: + raise ValueError("You must provide an even number of numbers") + + # Sort the list, and convert to Decimal type. + numbers = sorted(Decimal(i) for i in numbers) + + for idx in range(len(numbers)//2): + # Calculate the unique sums for matching pairs + unique_averages.add((numbers[idx] + numbers[-1-idx])/2) + + return len(unique_averages) + + +def main(): + # Convert input into integers + array = [Decimal(n) for n in sys.argv[1:]] + result = distinct_average(array) + print(result) + + +if __name__ == '__main__': + main() |
