python计算商和余数_python中负数除法的求商和取余的问题

首先,我们先看一些正数的除法

res1 = 6 / 4 #6除以4

print(res1) #输出:1.5

res2 = 6 // 4 #6除以4取商

print(res2) #输出:1

res3 = 6 % 4 #6除以4取余数

print(res3) #输出:2

#以上是小学的数学知识

再来看下负数的除法

res4 = -6 / 4

print(res4) #输出:-1.5

res5 = 6 / -4

print(res5) #输出:-1.5

res6 = -6 / -4

print(res6) #输出:1.5

#以上应该是初中的数学知识

#负数的除法这个大家都能看懂,被除数和除数有负数,结果就为负;负负为正.

下面引入地板除(也就是商)和余数

#注意:在Python当中的地板除是向下取整的

res7 = -6 // 4

print(res7) #输出:-2

#-6除以4结果为-1.5(res4输出可以得出),向下取整,也就为-2(-1.5>-2,所以向下取整为-2)

res8 = 6 // -4

print(res8) #输出:-2

#6除以-4结果为-1.5(res5输出可以得出),向下取整,也就为-2(-1.5>-2,所以向下取整为-2)

res9 = -6 // -4

print(res9) #输出:1

#-6除以-4结果为1.5(res6输出可以得出),向下取整,也就是1.

接下来再看余数的运算

res10 = -6 % 4

print(res10) #输出:2

#在res7上我们得到了-6除以4的商为-2,要得到余数=被除数-除数*商

#也就是:-6-4*(-2)=-6+8=2

res11 = 6 % -4

print(res11) #输出:-2

#同理:6除以-4的商为-2,6-(-2)*(-4)=-2

res12 = -6 % -4

print(res12) #输出:-2

#-6除以-4的商为1,所以-6-(-4)*1=-2

总结:我们在做求商和取余时候,记住一句话:Python当中的地板除是向下取整的.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python除法运算符有两种形式:/ 和 //。其,/ 是普通的除法运算符,返回的是浮点数结果;// 是整除运算符,返回的是整数结果。\[1\] 对于负数的整除,Python的规则是永远向下整,即返回小于等于当前小数的最大整数。例如,-7 // 2 的结果是 -4,而不是 -3.5。\[1\] 余运算符在Python用 % 表示。对于负数余,Python的规则是保持余数的符号与被除数一致。例如,-7 % 2 的结果是 1,而不是 -1。\[1\] 在LeetCode刷题,如果题目要返回整数结果,需要使用整除运算符 // 和 int() 函数来确保结果是整数。例如,对于题目 https://leetcode-cn.com/problems/xoh6Oh/submissions/ ,可以使用以下代码来返回整数结果:\[1\] ```python class Solution: def divide(self, a: int, b: int) -> int: if(a == -2147483648 and b == -1): return 2147483647 return int(a / b) ``` 在引用\[2\]的代码,使用了余运算符 % 来判断一个数在不同的范围内,并输出对应的季节。例如,对于输入的数 n,如果满足 3 <= n % 100000 % 1000 % 100 <= 5,则输出 'spring'。类似地,根据不同的余结果,输出对应的季节。\[2\] 在引用\[3\]的代码,使用了 while 循环和余运算符 % 来计算1-100之间的偶数和。首先,设定一个变量 num 为 0,然后使用 while 循环遍历 1 到 100 的数。如果当前数 a 是偶数(即 a % 2 == 0),则将其加到 num 上。最后输出 num 的值,即为1-100之间的偶数和。\[3\] 总结起来,Python除法运算符有两种形式:/ 和 //,余运算符用 % 表示。对于负数的整除,Python的规则是向下整,余运算符的结果与被除数的符号一致。在LeetCode刷题,如果要返回整数结果,可以使用整除运算符 // 和 int() 函数。\[1\] #### 引用[.reference_title] - *1* [Python负数的整除和余](https://blog.csdn.net/qq_43601378/article/details/125273791)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [【关于python整除与余】](https://blog.csdn.net/m0_64572434/article/details/123664090)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值