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

2018-01-13  本文已影响230人  西凉0

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

本来想用字典做,但不知道为什么报错 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)))

我的代码真粗糙啊。

上一篇下一篇

猜你喜欢

热点阅读