蓝桥杯:猴子吃包子(Python解法)

题目

在这里插入图片描述

解题过程

一起开始的代码

x,y,z,x1,y1,z1,p=map(float,input().split(" "))
s='{:.1000f}'.format(x1/x+y1/y+z1/z)
p1=s.index('.')+int(p)
print(s[:p1+1])

因为它的上限是1000
我就先把1000给求出来
然后根据小数点数组下标,往后输出p个位置
发现这样不能够四舍五入
要想四舍五入,其实我就想复杂了

x,y,z,x1,y1,z1,p=map(float,input().split(" "))
s='{:.1000f}'.format(x1/x+y1/y+z1/z)
print(round(float(s),int(p)))

round函数有它可以保留小数点后面几位的功能
可以进一步简化代码,不需要一开始寻找1000位小数

x,y,z,x1,y1,z1,p=map(float,input().split(" "))
print('{}'.format(round(x1/x+y1/y+z1/z,int(p))))

在这里插入图片描述

posted @ 2021-04-13 10:32  Zeker62  阅读(59)  评论(0编辑  收藏  举报