前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于python 取余问题(%)详解

基于python 取余问题(%)详解

作者头像
砸漏
发布2020-11-02 10:04:45
1.9K0
发布2020-11-02 10:04:45
举报
文章被收录于专栏:恩蓝脚本

取余的公式:

余数=除数-被除数*商

python的的余数是按照整除(向下取整)得到的商来计算的。

取余问题主要分为 :

正数与正数,负数与负数,正数与负数 ,0

正数与正数

代码语言:javascript
复制
#大数/小数:因为得出的商和整除得出的一致,所以直接按照这个公式(余数=除数-被除数*商)即可。
print(9//7) #1
print(9%7)  #2

#小数/大数:因为得出的商和整除得出的一致,所以直接按照这个公式(余数=除数-被除数*商)即可。
#这里也可以说:只要正数与正数是小数/大数 的,商都是0 ,所以余数是他本身。
print(7//9) #0
print(7%9) #7

负数与负数

代码语言:javascript
复制
#小数/大数:因为得出的商和整除得出的一致,所以直接按照这个公式(余数=除数-被除数*商)即可。
#因为负负得正,所以整除得出的就是 9//7的值为1,所以余数为 -9-(-7)=-2
print(-9//-7) #1
print(-9%-7)  #-2

#大数/小数:因为得出的商和整除得出的一致,所以直接按照这个公式(余数=除数-被除数*商)即可。
#这里也可以说:只要在负数与负数相除中是大数/小数 的,商都是0 ,所以余数是他本身。
print(-7//-9) #0
print(-7%-9) #-7

0

代码语言:javascript
复制
#由于0不能做被除数,所以无论0除以任何数(0除外)的商和余数都为0。

print(0%-1) #0
print(0%1)  #0

正数与负数

代码语言:javascript
复制
#负数/正数
#-7/9=-0.77.. 所以整除的值为-1,也就是向下取整的值,而python中取余是按照整除的商计算的,所以余数为 -7-(9*(-1))=2
print(-7//9)  #-1 
print(-7%9)  #2
#同样的 -9/7=-1.285.. 所以整除的值为-2,余数 -9-7*(-2)=5
print(-9//7)  #-2
print(-9%7)  #5

#正数/负数
#同样的 7/-9=--0.77.. 所以整除的值为-1,余数 7-【-9*(-1)】=-2
print(7//-9)  #-1
print(7%-9)  #-2

#同样的 9/-7=-1.285.. 所以整除的值为-2,余数 9-【-7*(-2)】=-5
print(9//-7)  #-2
print(9%-7)  #-5

补充知识:python切片及负数下标

[a:b:c] 表示 [a,b) 区间内逐级递增 c 的数集

例如: 列表: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 ]

[1:18:3] 表示的就是 1 ~ 17 中的数字从 1 开始逐个递增 3 的数的集合 [ 1, 4, 7, 10, 13, 16 ]

负数下标篇

列表 (长度为10)

普通下标

0

1

2

3

4

5

6

7

8

9

负数下标

-10

-9

-8

-7

-6

-5

-4

-3

-2

-1

以上这篇基于python 取余问题(%)详解就是小编分享给大家的全部内容了,希望能给大家一个参考。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档