印度小哥的代码被质疑,才是我希望小码匠做到的

2022-06-16 13:46:37 浏览数 (1)

众数

老码农:小码匠,我向你保证,今天的算法一点也不难。

小码匠:不难?我信你个鬼,你给我整的题有不难的?算了,说来听听吧。

老码农:来来来,上菜,本期的菜——求众数

输入:列表中有多个数据。

输出:求这个数据列表中,出现次数最多的数据。

百度百科

代码语言:javascript复制
https://baike.baidu.com/item/众数/44796?fr=aladdin

小码匠:唔,我明白了,这个看起来的确不难,用一句你们“码农”界的行话,“开撸代码”,走起。

老码农:学的够快的哈,那就赶紧做吧。

小码匠:唔,这里这样,不对应该这样……

小码匠一阵噼里啪啦,呈现如下代码:

代码语言:javascript复制
def mode(input_list: list) -> list:
    """
    众数
    href: https://baike.baidu.com/item/众数/44796
    input_list: list[int] 数值型数据列表
    returns: float: 众数列表
    """
    if not input_list:
        raise ValueError("你输入的是个空列表")

    input_set = list(set(input_list))
    dic = dict()
    li = []
    for i in input_set:
        dic[i] = input_list.count(i)
    num = max(list(dic.values()))
    for j in dic.keys():
        if dic[j] == num:
            li.append(j)


if __name__ == "__main__":
    # print(mode([]))
    print(mode([60]))
    print(mode([60, 60]))
    print(mode([10, 10, 20, 30, 40, 10, 70, 80, 90]))
    print(mode([60, 10, 20, 10, 40, 50, 70, 50, 90]))

老码农:先运行,看结果对吗?

小码匠轻点运行按钮

小码匠:哎,什么情况,怎么输出的都是None?

代码语言:javascript复制
/System/Volumes/Data/fgb/01.git/04.coder/04.coding/coder-algorithm/venv/bin/python /System/Volumes/Data/fgb/01.git/04.coder/04.coding/coder-algorithm/algorithm/maths/mode.py
None
None
None
None

Process finished with exit code 0

老码农在一旁窃笑:啧啧啧,小码匠,不行啊。

小码匠:一边去,别妨碍我。

小码匠盯着屏幕,先看看代码再说:“

0 人点赞