On Jun 7, 2:15 pm, Hamish Moffatt <[EMAIL PROTECTED]> wrote: > [EMAIL PROTECTED] wrote: > > Hello all, > > I have two integers and I want to divide one by another, and want to > > get an integer result which is the higher side whenever the result is > > a fraction. > > 3/2 => 1 # Usual behavior > > some_func(3, 2) => 2 # Wanted > > > Any easier solution other than int(math.ceil(float(3)/2)) > > The normal solution is to add (divisor-1) to the dividend before division. > > Ie ceil(3/2) = floor((3+(2-1))/2) = 2. Correct. > > But ceil(4/2) = floor((4+(2-1))/2) = 2 also. Correct. > > Hamish
What about this? >>> def div_ceil(a, b): ... if a%b: ... return ((a/b)+1) ... else: ... return (a/b) ... >>> div_ceil(3,2) 2 >>> div_ceil(-3,2) -1 >>> -3%2 1 >>> -(3%2) -1 >>> div_ceil(-5,2) -2 >>> div_ceil(5,2) 3 -- http://mail.python.org/mailman/listinfo/python-list