赞
踩
在完成第三周的作业时候,并没有像第二周一样直接暴力的使用if else
实现最后的预测结果部分的判断,而是使用了np.round()
,于是测试时候出现了一个问题。
import numpy as np
print(np.round(0.5))
print(np.round(1.5))
0.0
2.0
很奇怪啊,明明是四舍五入,但是输出了0,在文档中给出了相关的回答:
values are rounded to the closest multiple of 10 to the power minus ndigits; if two multiples are equally close, rounding is done toward the even choice.
也就是说如果四舍五入时候到两边的距离一样,结果会是偶数部分的值,所以结果是0.0和2.0。
values are rounded to the closest multiple of 10 to the power minus ndigits; if two multiples are equally close, rounding is done away from 0
可以看到,在2.7版本中,如果两边距离相等,那么会等于远离0的值,所以如果是2.7版本,输出应该是:
1.0
2.0
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。