美文网首页
在list里找到最大值,或几个最大值(for答题项目)

在list里找到最大值,或几个最大值(for答题项目)

作者: 西凉0 | 来源:发表于2018-01-13 15:57 被阅读230次

    需求是这样的,我有两个列表,一个包含三个词,一个包含三个词对应的数量,我需要输出三个词哪个最大,如果有两个一样多,就不输出。

    本来想用字典做,但不知道为什么报错 object is not iterable ,就算了。

    简单粗暴的做吧。

    思路是找出最大值和对应的词,存下来,把最大值改为0,重新找最大值,存为第二大值。如果最大值和第二大值相等,就说“不好意思”,如果不等,就输出那个词。

            print("------------------------")
            anw=[answer_A,answer_B,answer_C]
            anw_r=[a,b,c]
            max_num=max(anw_r)
            i=anw_r.index(max_num)
            answer=anw[i]
            anw_r[i]=0
            max_num2=max(anw_r)
            if max_num != max_num2:
                print("选",i+1, answer)
            else:
                print("不只一个最多的答案")
            print("------------------------\n")
    

    另外记录一段对齐字符的代码,但因为英文和中文字宽不一样所以还是对不齐/(ㄒoㄒ)/~~

            spacing='%-10s%-8s%s'
            print(spacing % (answer_A, a, "■" * min(50, a)))
    

    我的代码真粗糙啊。

    相关文章

      网友评论

          本文标题:在list里找到最大值,或几个最大值(for答题项目)

          本文链接:https://www.haomeiwen.com/subject/qcbcoxtx.html