Python舍入到最接近的0.25

时间:2015-10-21 11:02:07

标签: python python-3.x math rounding

我想将整数舍入到最接近的0.25十进制值,如下所示:

import math

def x_round(x):
    print math.round(x*4)/4

x_round(11.20) ## == 11.25
x_round(11.12) ## == 11.00
x_round(11.37) ## == 11.50

这在Python中给出了以下错误:

Invalid syntax

2 个答案:

答案 0 :(得分:7)

round是Python 3.4中的built-in function,并且print语法已更改。这在Python 3.4中运行良好:

def x_round(x):
    print(round(x*4)/4)

x_round(11.20) == 11.25
x_round(11.12) == 11.00
x_round(11.37) == 11.50

答案 1 :(得分:6)

函数math.round不存在,只需使用内置的round

def x_round(x):
    print(round(x*4)/4)

请注意print是Python 3中的一个函数,因此括号是必需的。

目前,您的功能并未返回任何内容。从函数返回值可能更好,而不是打印它。

def x_round(x):
    return round(x*4)/4

print(x_round(11.20))

如果您要整理,请使用math.ceil

def x_round(x):
    return math.ceil(x*4)/4