美团笔试后台开发
无力吐槽 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+'"]') 