def get_upper_quartile(self): if len(self.__value) == 0: print("self.__value cannot be empty") return None upper_quartile_values = [] self.__value.sort() if len(self.__value) % 2 == 0: k = len(self.__value) / 2 while k <= len(self.__value) - 1: upper_quartile_values.append(self.__value[k]) k += 1 elif len(self.__value) % 2 == 1: k = int(len(self.__value) / 2) + 1 while k <= len(self.__value) - 1: upper_quartile_values.append(self.__value[k]) k += 1 upper_quartile = helper_functions.reusable_median( upper_quartile_values) return upper_quartile
def get_lower_quartile(self): if len(self.__value) == 0: print("self.__value cannot be empty") return None k = 0 lower_quartile_values = [] self.__value.sort() if len(self.__value) % 2 == 0: while k < len(self.__value) / 2: lower_quartile_values.append(self.__value[k]) k += 1 elif len(self.__value) % 2 == 1: while k < (len(self.__value) / 2) - 1: lower_quartile_values.append(self.__value[k]) k += 1 lower_quartile = helper_functions.reusable_median( lower_quartile_values) return lower_quartile
def median_values(self): if len(self.__value) == 0: print("self.__value cannot be empty") return None for key in self.__value: if not isinstance(self.__value[key], (int, float)): print("all values of self.__value must be numbers") return None array = [] for key in self.__value: array.append(self.__value[key]) array.sort() if len(array) == 1: return array[0] median = helper_functions.reusable_median(array) return median
def median_keys_if_value(self, condition=" "): if len(self.__value) == 0: print("self.__value cannot be empty") return None for key in self.__value: if not isinstance(key, (int, float)): print("all keys of self.__value must be numbers") return None array = [] for key in self.__value: if self.__value[key] == condition: array.append(key) array.sort() if len(array) == 1: return array[0] median = helper_functions.reusable_median(array) return median