python 您所在的位置:网站首页 Int取整函数 python

python

2023-08-28 14:49| 来源: 网络整理| 查看: 265

一、取整(int)

此函数是python内置的,无需导入任何模块;运算规则是将小数部分截断去掉。

比如int(3.4),就把【.4】截掉,结果是3;再比如int(-3.3),就把【.3】截掉,结果是-3。

二、近零(fix)

此函数在numpy模块中,因此需要导入后再使用。

fix这个函数名不仅在numpy模块中有,在其他语言中也有,表示使浮点数向靠近0的方向取整。

from numpy import * print(fix(4.3)) # 4.0 print(fix(-4.2)) # -4.0

三、 近小(floor)或地板运算

此函数在math模块中,需要导入后再使用;运算规则是向负无穷大(注意不是无穷小,无穷小是无限趋近于0)的方向取整。

from math import * print(floor(-4.3)) # -5 print(floor(4.2)) # 4

四、近大(ceil)或天花板运算

此函数在math模块中,需要导入后再使用;运算规则是向无穷大的方向取整。

from math import * print(ceil(-4.3)) # -4 print(ceil(4.2)) # 5

五、四舍五入(round)

此函数在Python中已内置,可直接使用。

print(round(-4.3)) # -4 print(round(-4.6)) # -5 print(round(4.3)) # 4 print(round(4.6)) # 5

六、取余(rem)和取模(mod)

6.0 取模运算和取余运算各是什么?

参考文章:取模运算和求余运算的区别——huasion

对于整数a,b来说,取模运算或者求余运算的方法都是:

求整数商: c = a/b;「向无穷小取整就是c = fix(a / b),向负无穷小取整就是c = floor(a / b)」计算模或者余数: r = a - c*b。

求模运算和求余运算在第一步不同: 取模求余运算在取c的值时,向趋近于0的方向舍入,也即fix()函数; 而取模运算在计算c的值时,向负无穷大的方向舍入,也即floor()函数。

因此,当a和b符号一致时,求模运算和求余运算所得的c的值一致,因此结果一致。但是当符号不一致的时候,结果不一样。具体来说,求模运算结果的符号和b一致,求余运算结果的符号和a一致。

在C语言中,%操作符表示“求余运算”;在Python语言中,%表示的是“取模运算”。

那Python中如何实现求余运算呢?至今我还没找到一个便捷的直接用非自定义函数实现的方法。

6.1 numpy模块中的不优雅之处

在numpy中有两个函数remainder和mod,这两个函数按道理来说一个是取余、一个是取模,但是两个函数的求解结果完全一样。不符合正常的取余运算看前者符号,取模运算看后者符号的普遍规律,非常不雅。

import numpy as np a = [7, -7, 7, -7] b = [3, 3, -3, -3] print(np.mod(a, b)) print(np.remainder(a, b)) # [ 1 2 -2 -1] # [ 1 2 -2 -1]

 

6.2 标准库Operator的mod()和操作符%

python标准库operator模块的mod()和操作符%的作用一样,都是完成取模运算。

print(mod(7, -4)) # -1 print(7 % -4) # -1 print(mod(-7, 4)) # 1 print(-7 % 4) # 1



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有