Հաշվարկել վիճակագրությունը

Ձեզ տրված է n թվերի ցանկ, և ձեր խնդիրն է՝ գրել calculate_statistics ֆունկցիան, որը կհաշվարկի և կվերադարձնի որոշակի վիճակագրական չափումներ՝ միջինը, մեդիան և մոդը:
Ֆունկցիան պետք է ընդունի մեկ դիրքային արգումենտ՝ numbers, որը թվերի ցանկն է, և երեք keyword արգումենտ՝ mean, median և mode, որոնցից յուրաքանչյուրը՝ False սկզբնադիր (default) արժեքով: Ֆունկցիան պետք է հաշվարկի և վերադարձնի միայն այն վիճակագրական չափումները, որոնք սահմանված են որպես True: Եթե վիճակագրական չափումներ չեն պահանջվում (բոլորը False (կեղծ) են), ֆունկցիան պետք է վերադարձնի դատարկ բառարան:
Ֆունկցիայի ելքը պետք է լինի բառարան, որտեղ վիճակագրական չափումների անվանումները բանալիներն են, իսկ հաշվարկված արժեքները՝ value-ներ: Ֆունկցիան պետք է սահմանվի հետևյալ կերպ.
def calculate_statistics(numbers, *, mean=False, median=False, mode=False):
Մուտք
Ելք
calculate_statistics([4, 8, 6, 5, 3, 2, 8, 9, 2], mean=True)
{'mean': 5.222222222222222}
calculate_statistics([4, 8, 6, 5, 3, 2, 8, 9, 2], median=True)
{'median': 5}
calculate_statistics([4, 8, 6, 5, 3, 2, 8, 9, 2], mode=True)
{'mode': [2, 8]}
calculate_statistics([4, 8, 6, 5, 3, 2, 8, 9, 2], mean=True, median=True, mode=True)
{'mean': 5.222222222222222, 'median': 5, 'mode': [2, 8]}
calculate_statistics([4, 8, 6, 5, 3, 2, 8, 9, 2])
{}
calculate_statistics([1, 2], median=True, mean=True, mode=True)
{'mean': 1.5, 'median': 1.5, 'mode': [1, 2]}
Նշում․ Տվյալների բազմամոդալ հավաքածուի դեպքում ֆունկցիան պետք է վերադարձնի ցուցակի բոլոր mode-երը՝ դասավորված փոքրից մեծ: Եթե տվյալների հավաքածուն բազմամոդալ չէ, ֆունկցիան պետք է վերադարձնի մեկ mode: Եթե mode չկա, ֆունկցիան պետք է վերադարձնի դատարկ ցուցակ՝ որպես «mode»-ի արժեք:
mean (միջին)
Թվերի ցանկի միջինը բոլոր թվերի գումարն է՝ բաժանված թվերի քանակի վրա։
median (մեդիան)
Երբ թվերը դասակարգված են փոքրից մեծ, մեդիանն այդ թվերի մեջտեղի արժեքն է:
mode (մոդ)
Մոդն այն թիվն է, որն ամենից հաճախն է հայտնվում տվյալների ցուցակում:
Տվյալների հավաքածուն կարող է ունենալ մեկ mode, մեկից ավելի mode-եր կամ ընդհանրապես mode չունենալ:
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue