Returning Highest and Lowest in Python

The challenge

You are given a string of space-separated numbers and have to return the highest and lowest number.

Example:

high_and_low("1 2 3 4 5") # return "5 1" high_and_low("1 2 -3 4 5") # return "5 -3" high_and_low("1 9 3 4 -5") # return "9 -5"
Code language: Python (python)

Notes:

  • All numbers are valid Int32, no need to validate them.
  • There will always be at least one number in the input string.
  • Output string must be two numbers separated by a single space, and highest number is first.

The solution in Python code

Option 1:

def high_and_low(numbers): nums = sorted([int(x) for x in numbers.split(" ")], reverse=True) return str(nums[0])+" "+str(nums[-1])
Code language: Python (python)

Option 2:

def high_and_low(numbers): n = map(int, numbers.split(' ')) return str(max(n)) + ' ' + str(min(n))
Code language: Python (python)

Option 3:

def high_and_low(numbers): nums = sorted(numbers.split(), key=int) return '{} {}'.format(nums[-1], nums[0])
Code language: Python (python)

Test cases to validate our solution

import test from solution import high_and_low @test.describe("Fixed Tests") def fixed_tests(): @test.it('Basic Test Cases') def basic_test_cases(): test.assert_equals(high_and_low("4 5 29 54 4 0 -214 542 -64 1 -3 6 -6"), "542 -214"); test.assert_equals(high_and_low("1 -1"), "1 -1"); test.assert_equals(high_and_low("1 1"), "1 1"); test.assert_equals(high_and_low("-1 -1"), "-1 -1"); test.assert_equals(high_and_low("1 -1 0"), "1 -1"); test.assert_equals(high_and_low("1 1 0"), "1 0"); test.assert_equals(high_and_low("-1 -1 0"), "0 -1"); test.assert_equals(high_and_low("42"), "42 42");
Code language: Python (python)
Tags:
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments