微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么我的 min() 函数在 Python 中不起作用

如何解决为什么我的 min() 函数在 Python 中不起作用

我正在用 Python 编写一个均值模式计算器,但遇到了这个错误

代码中的 new_arr 函数中的 mode 列表没有返回正确的最小值

我该如何纠正?

代码:-

import collections
import statistics
from statistics import StatisticsError

elemag = int(input())
raw_arr = input()
arr = raw_arr.split(" ")

def mean(total,split_arr) :
    sum = 0
    for i in split_arr :
        sum += int(i)
    return (sum/total)
    
def median (total,split_arr) :
    
    new_arr = []
    for i in split_arr :
        new_arr.append(int(i))
    
    new_arr.sort()
    
    if total % 2 != 0 :
        mid_val_index = int(((total + 1)/2) - 1)
        return (new_arr[mid_val_index ])
        
    else:
        a = int(total/2)
        b = int(a - 1)
        
        c = int(new_arr[a])
        d = int(new_arr[b])
        return (c+d)/2
        
def mode(split_arr) :
    
    new_arr = []
    for i in split_arr :
        new_arr.append(int(i))

    try :
        return statistics.mode(new_arr)
    except StatisticsError as err :
        return min(new_arr)
        
print(mean(elemag,arr))
print(median(elemag,arr))
print(mode(arr))



解决方法

听起来您使用的是 Python 3.8。 documentation 说:

在 3.8 版中更改:现在通过返回遇到的第一个模式来处理多模式数据集。以前,当找到多个模式时,它会引发 StatisticsError

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。