Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
No import solution in Clear category for Median by NekoShinobi
from typing import List
def checkio(data: List[int]) -> [int, float]:
# import statistics
# return statistics.median(data)
# the above is so simple it's stupid and it works,
# but let's do this without imports for exercise
# instead, we will sort the data, make an integer for the middle position index
# check if the data length is even or odd using modulus
# and if even, get both points around the middle and average them
# but if odd, just return the value at the middle position
data.sort()
indice = int(len(data)/2)
if len(data)%2 == 0:
return (data[indice]+data[(indice-1)])/2
else:
return data[indice]
return data[0]
#These "asserts" using only for self-checking and not necessary for auto-testing
if __name__ == '__main__':
print("Example:")
print(checkio([1, 2, 3, 4, 5]))
assert checkio([1, 2, 3, 4, 5]) == 3, "Sorted list"
assert checkio([3, 1, 2, 5, 3]) == 3, "Not sorted list"
assert checkio([1, 300, 2, 200, 1]) == 2, "It's not an average"
assert checkio([3, 6, 20, 99, 10, 15]) == 12.5, "Even length"
print("Start the long test")
assert checkio(list(range(1000000))) == 499999.5, "Long."
print("Coding complete? Click 'Check' to earn cool rewards!")
May 12, 2019
Comments: