需求是这样的,我有两个列表,一个包含三个词,一个包含三个词对应的数量,我需要输出三个词哪个最大,如果有两个一样多,就不输出。
本来想用字典做,但不知道为什么报错 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