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

Ձեզ տրված է 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