python怎么取模,Python运算符之取模%

为了可以成为测试,最近在学Python。菜鸟教程中叫%运算为取余,而之前我在学习Java时记得书上是叫%运算为取模。因此想知道这两者到底有啥区别。

一.定义

在matlab中,关于取余和取模是这么定义的:

当y≠0时:

取余:rem(x,y)=x-y * fix(x./y)

取模:mod(x,y)=x-y * floor(x./y)

其中,fix()函数是向0取整,floor()函数是向负无穷取整

取余,遵循尽可能让商向0靠近的原则

取模,遵循尽可能让商向负无穷靠近的原则

二.测试

我用Java和Python分别运行了5%3、-5%3...

5%3

5除以3=1.667产生了两个商1和2

如果%表示的是取余则rem(5,3)=5 - 3 * 1 = 2

如果%表示的是取模则mod(5,3) = 5 - 3 * 1 = 2

-5%3

-5除以3=-1.667产生了两个商-1和-2

如果%表示的是取余则rem(5,3)= -5 - 3 * (-1) = -2

如果%表示的是取模则mod(5,3) = -5 - 3 * (-2) = 1

5%-3

5除以-3=-1.667产生了两个商-1和-2

如果%表示的是取余则rem(5,3)= 5 - (-3) * (-1) = 2

如果%表示的是取模则mod(5,3) = 5 - (-3) * (-2) = -1

-5%-3

-5除以-3=1.667产生了两个商1和2

如果%表示的是取余则rem(5,3)= -5 - (-3) * 1 = -2

如果%表示的是取模则mod(5,3) = -5 - (-3) * 1 = -2

JAVA

public static void main(String[] args) {

System.out.println("5 % 3 =" + 5 % 3);

System.out.println("-5 % 3 = " + -5 % 3);

System.out.println("5 % (-3) = " +5 % (-3));

System.out.println("-5 % (-3) = " + -5 % (-3));

}

// 输出结果

// 5 % 3 =2

// -5 % 3 = -2

// 5 % (-3) = 2

// 5 % (-3) = -2

Python

>>> 5 % 3 # 取模

2

>>> -5 % 3

1

>>> 5 % -3

-1

>>> -5 % -3

-2

>>> 5.2 %3

2.2

>>> -5.2 % 3

0.7999999999999998

三.结论

由测试结果可得Python中的%为取模,Java的%才是取余。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值