diff options
| author | Dave Jacoby <jacoby.david@gmail.com> | 2025-05-15 16:45:20 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-15 16:45:20 -0400 |
| commit | efc2a652edb6436965e12883bedf035ea081284d (patch) | |
| tree | 7e9940d4f72fe1e8d984b3746af2d30dff96330b /challenge-320/sgreen/python/ch-2.py | |
| parent | 6886bd3e06ccf8b0a564f3c434cd53131d126f70 (diff) | |
| parent | ed7588dadb77d63adca3d3aefc6cd325164e0947 (diff) | |
| download | perlweeklychallenge-club-efc2a652edb6436965e12883bedf035ea081284d.tar.gz perlweeklychallenge-club-efc2a652edb6436965e12883bedf035ea081284d.tar.bz2 perlweeklychallenge-club-efc2a652edb6436965e12883bedf035ea081284d.zip | |
Merge branch 'manwar:master' into master
Diffstat (limited to 'challenge-320/sgreen/python/ch-2.py')
| -rwxr-xr-x | challenge-320/sgreen/python/ch-2.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/challenge-320/sgreen/python/ch-2.py b/challenge-320/sgreen/python/ch-2.py new file mode 100755 index 0000000000..cda60d3d8d --- /dev/null +++ b/challenge-320/sgreen/python/ch-2.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python3 + +import sys + + +def sum_difference(ints: list) -> int: + """Calculate the absolute difference between digit sum and element + sum of the given list. + + Args: + ints (list): A list of positive integers + + Returns: + int: The absolute difference. + """ + # Check we are only given positive integers + if any(i < 1 for i in ints): + raise ValueError('Only positive integers allowed') + + difference = 0 + for i in ints: + # Single digit integers have no difference + if i > 9: + # Calculate the difference between the number and the sum of the + # individual digits + difference += i - sum(int(d) for d in str(i)) + + return abs(difference) + + +def main(): + # Convert input into integers + array = [int(n) for n in sys.argv[1:]] + result = sum_difference(array) + print(result) + + +if __name__ == '__main__': + main() |
