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

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

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

我的代码真粗糙啊。


更新:
似乎可以用format来对齐字符哦

#填充与对齐
print ('{:>8}'.format('189'))
#     189
print ('{:0>8}'.format('189'))
#00000189
print ('{:a>8}'.format('189'))
#aaaaa189
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容