Skip to content

Mistake in maths/average_mode.py fixed. #4464

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Jun 4, 2021
25 changes: 16 additions & 9 deletions maths/average_mode.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import statistics
from typing import Any


def mode(input_list): # Defining function "mode."
def mode(input_list: list) -> Any: # Defining function "mode."
"""This function returns the mode(Mode as in the measures of
central tendency) of the input data.

Expand All @@ -10,22 +11,28 @@ def mode(input_list): # Defining function "mode."
>>> input_list = [2, 3, 4, 5, 3, 4, 2, 5, 2, 2, 4, 2, 2, 2]
>>> mode(input_list)
2
>>> input_list = [3, 4, 5, 3, 4, 2, 5, 2, 2, 4, 4, 2, 2, 2]
>>> mode(input_list)
2
>>> input_list = ["x", "y", "y", "z"]
>>> mode(input_list)
'y'
>>> input_list = [2, 3, 4, 5, 3, 4, 2, 5, 2, 2, 4, 2, 2, 2]
>>> mode(input_list) == statistics.mode(input_list)
True
>>> input_list = ["x", "y", "y", "z"]
>>> mode(input_list) == statistics.mode(input_list)
True
"""
# Copying input_list to check with the index number later.
check_list = input_list.copy()
result = list() # Empty list to store the counts of elements in input_list
for x in input_list:
result.append(input_list.count(x))
input_list.remove(x)
y = max(result) # Gets the maximum value in the result list.
# Returns the value with the maximum number of repetitions.
return check_list[result.index(y)]
y = max(result) # Gets the maximum value in the result list.
# Returns the value with the maximum number of repetitions.
return input_list[result.index(y)]


if __name__ == "__main__":
data = [2, 3, 4, 5, 3, 4, 2, 5, 2, 2, 4, 2, 2, 2]
print(mode(data))
print(statistics.mode(data))
import doctest
doctest.testmod()