美团笔试后台开发

无力吐槽 40道选择题闹哪样
编程第一题  注意十千百  73%AC;第二题直接'ABAC'*100000,然后取吧
from decimal import Decimal
def help(s):
    num=['零','壹','贰','叁','肆','伍','陆','柒','捌','玖']
    unt=['元','十','百','千','万','十','百','千','亿','十','百','千','万','十','百','千']
    dunt=['角','分']
    value=Decimal(s).quantize(Decimal('0.01'))
    if value==0: return '零元整'
    s=str(value)
    res=[]
    stra,strb=s.split('.')
    stra=stra[::-1]
    if strb=='00': flag=1
    else: flag=0
    if strb[1]!= '0':
        res.append(dunt[1])
        res.append(num[int(strb[1])])
    elif strb[0]== '0': res.append('整')
    if strb[0]!= '0':
        res.append(dunt[0])
        res.append(num[int(strb[0])])
    elif strb[1]!= '0': 
        res.append(num[0])
        flag=1
    if stra=='0':
        if flag: res.pop()
        res.reverse()
        return ''.join(res)
    for i,n in enumerate(stra):
        n=int(n)
        if i%4 ==0:
            if i==8 and res[-1]==unt[4]: res.pop()
            res.append(unt[i])
            if n==0:
                if flag==0:
                    res.insert(-1,num[0])
                    flag=1
            else:
                res.append(num[n])
                flag=0
        else:
            if n!=0:
                res.append(unt[i])
                res.append(num[n])
                flag=0
            else:
                if flag==0:
                    res.append(num[0])
                    flag=1
    res.reverse()
    return ''.join(res)
board=list(input().split(','))
board[0]=board[0][1:]
board[-1]=board[-1][:-1]
resAll=[]
for s in board:
    resAll.append(help(s[1:-1]))
res='", "'.join(resAll)
print('["'+res+'"]')


#美团##题解#
全部评论
我擦!我说我咋一直提交不对,千百十不应该是仟佰什吗
点赞 回复 分享
发布于 2019-09-11 17:24
第一题对C++不太友好。。。累
点赞 回复 分享
发布于 2019-09-11 17:23
美团笔试让你心明眼亮
点赞 回复 分享
发布于 2019-09-11 17:16
那个千百十把我郁闷的,最后猛然看到😷
点赞 回复 分享
发布于 2019-09-11 17:08

相关推荐

自学java狠狠赚一...:骗你点star的,港卵公司,记得把star收回去
点赞 评论 收藏
分享
fRank1e:吓得我不敢去外包了,但是目前也只有外包这一个实习,我还要继续去吗
点赞 评论 收藏
分享
评论
点赞
3
分享

创作者周榜

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