Python数字类型的运算
来自CloudWiki
数字类型的运算
数值运算操作符
- python提供了九个基本的数值运算操作符,这些操作符由python解释器直接提供,也叫做内置操作符。
x+y :x与y之和 x-y :x与y之差 x*y :x与y之积 x/y :x与y之商 x//y :x与y之整数商,即:不大于x与y之商的最大整数 x%y : x与y之商的余数,也称为模运算 -x :x的负值,即:x*(-1) +x : x本身 x**y :x的y次幂
- 示例操作:
>>> x,y=2,3 >>> x+y 5 >>> x-y -1 >>> x*y 6 >>> x/y 0.6666666666666666 >>> x,y=9,2 >>> x/y 4.5 >>> x//y 4 >>> x%y 1 >>> -x -9 >>> +x 9 >>> x**y 81
赋值运算:增强版
上标所有二元运算操作符(+、-、*、/、//、%、**)都可以与等号(=)相连,
形成增强赋值操作符(+= 、-=、*=、/=、//=、%=、**=)。
用op表示这些二元运算操作符,增强赋值操作符的用法如下:
x op= y 等价于 x = x op y
>>>x = 99 >>>x **=3 # 与x = x**3等价 >>>print(x) 970299
数值运算规则
数值运算可能改变结果的数据类型,类型的改变与运算符有关,有如下基本规则:
- 整数和浮点数混合运算,输出结果是浮点数;
- 整数之间运算,产生结果类型与操作符相关,/运算的结果
是浮点数;
- 整数或浮点数与复数运算,输出结果是复数。
>>>1010/10 # /运算的结果是浮点数 101.0 >>>1010.0//3 # 浮点数与整数运算,产生结果是浮点数 336.0 >>>1010.0 % 3 # 浮点数与整数运算,产生结果是浮点数 2.0 >>>10 - 1 + 1j # 等价于 10 – (1 - 1j) (9+1j)
数值运算函数
- 函数 描述
- abs(x) x的绝对值
- divmod(x,y) 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(x//y, x%y)
- pow(x,y) x的y次幂
- round(x,n) x四舍五入,保留n位小数
- max(x1,x2,...,xn) x1,x2,x3,...xn的最大值
- min(x1,x2,...,xn) x1,x2,x3,...xn的最小值
- abs(x): 求绝对值
>>> x,y = 9,2 >>> abs(x) 9 >>> abs(-x) 9
- divmod(x,y):获得除法的商和余数
>>> x,y = 9,2 >>> divmod(x,y) (4, 1)
- pow(x,y)
>>> x,y = 9,2 >> pow(x,y)
- round(x)
"4舍6入5看齐,奇进偶不进" 关于round,接力分析,结论如下: 当个位为奇数,小数部分>=0.5入,其余为舍 当个位为偶数,小数部分>0.5入,其余为舍。
>>> x = 4.5 >>round(x)
- max(x1,x2,x3,...,xn)
>>> x, y, z = 1, 2, 3 >>> max(x,y,z)
- min(x1,x2,x3,...,xn)
>>> x, y, z = 1, 2, 3 >>> min(x,y,z)
>>> s=[1,3,7,9,11,23,4,6,8] >>> max(s) 23
案例:三天打鱼,两 天晒网
“三天打鱼,两 天晒网” 常以此来比喻一个人对学习或工作没有恒心,经常中断,不能长久坚持。如果将1.0作为能力值的基数,好好学习一天能力值相比前一天提高1%,懒惰懈怠一天能力值比前一天下降1%,可以得出 “三天打鱼,两天晒网”的公式,请将下列公式转换为代码进行验证。
(1.0+0.01)^3×(1.0−0.01)^2<(1.0+0.01)
分析:
可以使用pow(x, y)函数进行几次方计算;