Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python3.7.5:round()在看似相同的情况下表现不同?_Python_Python 3.x - Fatal编程技术网

python3.7.5:round()在看似相同的情况下表现不同?

python3.7.5:round()在看似相同的情况下表现不同?,python,python-3.x,Python,Python 3.x,在Python3.7.5下,我执行以下代码并得到一个奇怪的输出 for i in range(10): print(round(i+0.5)) 如果我理解正确,在round()操作下,任何看起来像xxx…x.5且带有任何数字x的数字应始终向上取整为xxx…x+1,无论整整数部分是偶数还是奇数。我的输入有错误吗?如何解决这个问题?谢谢你的建议 最好使用数学模块: 根据需要,将round替换为floor或ceil: 来自数学导入层,ceil 现在对于向下取整使用floor()和向上取整

在Python3.7.5下,我执行以下代码并得到一个奇怪的输出

for i in range(10):
    print(round(i+0.5))


如果我理解正确,在
round()
操作下,任何看起来像
xxx…x.5
且带有任何数字
x
的数字应始终向上取整为
xxx…x+1
,无论整整数部分是偶数还是奇数。我的输入有错误吗?如何解决这个问题?谢谢你的建议

最好使用
数学
模块:
根据需要,将
round
替换为
floor
ceil

来自数学导入层,ceil
现在对于向下取整使用
floor()
向上取整使用
ceil()

打印(地板(2.9))
输出:2

打印(ceil(1.1))
输出:2


如果您将
0.5
更改为
0.51
,您将得到您想要的。请参阅可能的副本