通过英文数字特定字符判断数字个数

电话号码分身

http://www.nowcoder.com/questionTerminal/493d71a992f44554a500ed818056e1a6

coding=utf-8

n=int(input())
di=[[['Z','ZERO',2],['W','TWO',4],['U','FOUR',6],['X','SIX',8],['G','EIGHT',0]], #查询字典,分2部分,'ZERO','TWO'等包含特定唯一字符'z','w'
[['O','ONE',3],['R','THREE',5],['F','FIVE',7],['S','SEVEN',9]]] #'ONE','THREE'去掉上面的唯一字符后,也只包含特定唯一字符'O','R'
for i in range(n): #最后只剩'NINE'需要特殊处理
num=list(input()) #输入
num.sort() #排序
re=[]
for j in range(2): #调用字典
for d in di[j]: #字典内部遍历
if d[0] in num: #是否包含特定唯一字符
k=num.count(d[0]) #唯一特定字符个数就是代表数字个数,也是其他字母个数,如有k个'Z'就有k个'ERO'
for d0 in d[1]:
s=num.index(d0)
del num[s:s+k] #删除k个'ZERO'
re+=[d[2]]k #代表的数字(减去8)
re+=[1]
(int(len(num)/4)) #剩余都是NINE
re.sort()#排序,找到最小的
re=[str(i) for i in re]
re=''.join(re)#组合
print(re)

全部评论

相关推荐

06-18 08:36
湖南大学 Java
运营你豪哥:没啥拷打的 1.增加量化结果,现在有点缺效果数据 2.突出复杂性,现在的项目描述有点像功能清单,强调一下技术难点和解决方案。
不给转正的实习,你还去吗
点赞 评论 收藏
分享
06-20 21:22
已编辑
门头沟学院 Java
纯真的河老师在喝茶:答应了就跑啊,实习随便跑啊,别被pua了,md就是找个廉价劳动力,还平稳过度正式工,到时候跟你说没转正
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务