我想解决一个小数学问题
给定数字x和分辨率y,我需要找到具有所需分辨率的下一个x’.
例如
x = 1.002 y = 0.1 x'= 1.1 x = 0.348 y = 0.1 x'= 0.4 x = 0.50 y = 1 x'= 1 x = 0.32 y = 0.05 x'= 0.35
有没有聪明的方法在Python中这样做?
解决方法
import math def next_multiple(x,y): return math.ceil(x/y)*y def try_it(x,y): print x,y,next_multiple(x,y) for x,y in [ (1.002,0.1),(0.348,(0.50,1),(0.32,0.05) ]: try_it(x,y)
生产:
1.002 0.1 1.1 0.348 0.1 0.4 0.5 1 1.0 0.32 0.05 0.35
我认为你的第一个示例输出是错误的,x’的正确答案是1.1,对吗?