Հաշվարկել վիճակագրությունը
Ձեզ տրված է
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