问题:使用math包,做除法3/2,向上取整结果2碰到的问题
首先,很容易的一个语句:
import math
math.ceil(3/2)
在测试的时候,其实结果是正常的,是2。但是在打包成exe的时候,就出现问题了。结果是1。
原因是什么呢?除法的时候是需要都是float才会保留到小数,要不就会自动保留成整数int,但是问题是,我不打包成exe的时候,是没有这个问题的。
不管原因是什么,解决方法就是:math.ceil(float(3)/float(2))
补充:向上取整向下取整:
res = 1
num = 0
numm = 0
if res == 1:
print(math.ceil(numm / 2))
num = np.random.randint(0, math.ceil(numm / 2))
elif res == 2:
num = np.random.randint(math.floor(numm / 2), numm)