【问题标题】:How to make median,mean,mode in python如何在python中制作中位数、均值、众数
【发布时间】:2021-11-10 02:00:52
【问题描述】:
def Mean(data,sum):
     mean = sum / data
     return mean
def Mode(data):
     mode = data
     return mode
def Median(data):
     mean = order
     return mean
print("Select the desired menu")
print("1. Calculate Mean ")
print("2. Calculate Median ")
print("3.Mode")
print("4.exit")
data = [1,2,3,4,5,2]
sum = sum(data)
data = len(data)
sort = sorted(data)
choice = input("choose the desired menu: ")
if option == "1":
     print("Mean calculation menu you selected")
     print('Data Length : ',data)
     print('Total Data : ', total)
     result = Mean(data,sum)
     print("Mean:", result)
elif selection == "2":
     print("Mean calculation menu you selected")
     print('Data Length : ',data)
     print('Total Data : ', sort)
     result = Median(order)
elif selection == "3":
     print("Mean calculation menu you selected")
     print('Data Length : ',data)
     print('Total Data : ', sort)
     result = Mode(sequence)
else:
     print('exit')**

我想找均值,中位数,众数如果可以运行,而中位数,众数不能运行我已经在google上搜索过答案但不对,希望你能帮忙

【问题讨论】:

  • 您使用了哪些搜索词?很容易找到。

标签: python if-statement mean median mode


【解决方案1】:

这样的?

平均值:

def mean_avg(lst): #Returns the mean average of a list
    output = 0
    for j in range(len(lst)):
        output+= lst[j]/len(lst)
    return(output)

模式:

def counter(a, lst): #Counts how often a is in lst
    out = 0
    for j in range(len(lst)):
        if lst[j] == a:
            out+=1
    return(out)

def mode_avg(lst): #Returns the modal element in lst
    output = lst[0]
    for j in range(len(lst)-1):
        if counter(lst[j+1],lst) > counter(output,lst):
            output = lst[j+1]
    return(output)

中位数:

def bubble_sort(lst): #sorts a list into ascending order
    for k in range(len(lst)):
        for j in range(len(lst)-1):
            if lst[j] > lst[j+1]:
                lst[j], lst[j+1] = lst[j+1],lst[j]
    return(lst)
def median_avg(lst): #Returns the median of a list
    lst = bubble_sort(lst)
    if len(lst)%2 != 0:
          return(lst[int((len(lst)+1)/2)])
    else:
         return(0.5*lst[int(len(lst)/2)] + 0.5*lst[int(1+len(lst)/2)])

【讨论】:

  • 所以如果你想实际使用这个函数,那就是:mean_avg(data)
猜你喜欢
  • 1970-01-01
  • 2017-12-16
  • 2019-03-07
  • 2021-04-14
  • 1970-01-01
  • 2021-05-12
  • 2017-01-11
  • 2010-12-28
  • 1970-01-01
相关资源
最近更新 更多