python中除法运算符是平均成绩不让用除_python 除法运算

python 除法运算 比较奇怪,和别的程序语言不大一样。

算术运算符

对于数值型数据,常见的算术运算有加法、减法、乘法、除法,以及求幂和取模等,这些运算所对应的运算符分别为:

加法运算符:+,例如代数表达式2+3的Python表达式为2 + 3;

减法运算符:-,例如代数表达式2-3的Python表达式为2 - 3;

乘法运算符:*,例如代数表达式2×3的Python表达式为2 * 3;

除法运算符:/和//,例如代数表达式2÷3的Python表达式为2 / 3或2 // 3;

求幂运算符:**,例如代数表达式23的Python表达式为2 ** 3;

取模运算符:%,例如代数表达式2mod3的Python表达式为2 % 3;

在早期的版本中,Python只有一个除法运算符即/,该运算符既用于整除法,又用于真除法,这由参与运算的操作数的类型决定。具体而言,如果操作数皆为整数,那么就进行整除法运算,即两数相除后之后,只取其商的整数部分,并丢弃小数部分,不进行进位处理;此外,如果操作数中只要有一个为浮点数,那么就进行真除法运算,即得到的结果是一个精确的浮点数,包括小数点之后的数字。

从Python2.2开始,除法运算符除了/之外,又引入了一个除法运算符://,后一种运算符只用于进行整除法。对于除法运算符/,默认时的行为跟Python2.2之前的一样,它视操作数而定,既可以进行整除,也可以进行真除法。如果想让这两个运算符有一个明确的分工,即/只用于真除法,而//仅用于整除法的话,需要作以下声明:

from __future__ import division

>>>2/3

>>>0

>>>2//3

>>>0

>>>10/3

>>>3

>>>10//3

>>>3

>>>from __future__ import

division

>>>2/3

>>>0.66666666666666663

>>>2//3

>>>0

>>>10/3

>>>3.333333333333335

>>>10//3

>>>3

在声明之前,对表达式2/3进行计算时,结果为0,这是因为参加运算的两个操作数都是整数,所以运算符/进行的是整除法,但是表达式2.0/3的结果却是0.66666666666666663,这是因为操作数中的2.0是浮点数,所以运算符/进行的是真除法。表达式2//3和2.0//3进行求值时,进行的都是整除法,只不过返回值一个是整型,一个是浮点型而已。当我们用import语句进行相应的声明后,除法运算符/只能用于真除法,所以此时2/3和2.0//3的返回值都是0.66666666666666663。

在python 2中 '/' 除 和'//' 除 表示的都是Int整除

例如

>>> 11/2

5

>>> 3//2

1

但是通过使用语句

>>> from __future__ import division

可以改变这种状况 让'/'除变成float除

这里有一个小小的陷阱 当做负数的除法时 因为取整的关系 -11/2 得到的结果并不是想象中的-5 而是-6(取整

不是四舍五入)

>>> -11/2

-6

引入division后得到的结果是5.5

>>> -11/2

-5.5

这里需要注意

在Python 3中 '/' 除 表示的就是float除 不需要再额外引入模块,

即使分子分母都是int, 返回的也会是一个float浮点数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值