对小数的处理,如果采用str转float会因为位数过多而造成WA。处理小数部分可采取反转后切片的方式去除末尾的0.代码如下:
#对分数、百分数、整数的处理代码略 s=input() if '.' in s: lis=s.split('.')#分离两部分 new1=str(int(lis[0][::-1]))#处理整数部分 #处理小数部分 new2=lis[1][::-1]#反转 #末尾0的处理,长度>1 while new2[-1]=='0' and len(new2)>1: new2=new2[:-1] #拼接 new=new1+'.'+new2 print(new)