Python中如何对数字执行除以10操作并同时获取商和余数
Python 同时获取除法的商和余数实现方法
你要的功能可以直接用Python内置的divmod()函数实现,这个函数的作用就是接收被除数和除数两个参数,同时返回商和余数组成的元组,不需要你分开计算两次。
基础使用示例
你提到的127除以10的场景,直接调用即可:
res = divmod(127, 10) print(res) # 输出 (12, 7) # 也可以直接解构赋值给两个变量 quotient, remainder = divmod(127, 10)
这样你就能同时拿到商12和余数7,不需要额外做其他运算。
连续除法实现拆分效果
后续要把余数继续除以其他数的需求,直接把上一步得到的余数作为下一次divmod()的被除数即可,完整实现代码如下:
# 第一步:除以10 quotient_10, remainder = divmod(127, 10) # 第二步:上一步的余数除以2 quotient_2, final_remainder = divmod(remainder, 2) # 输出结果等式 print(f"127 = {quotient_10} (10) + {quotient_2} (2) + {final_remainder}(最终余数)")
运行上述代码的输出结果完全匹配你给出的示例:
127 = 12 (10) + 3 (2) + 1(最终余数)
补充说明
divmod(a, b)的计算逻辑等价于(a // b, a % b),如果需要适配特殊的除法规则(比如负数取余的特殊逻辑),你也可以自己写这两个表达式实现,常规场景下直接用内置的divmod()更简洁高效。
内容的提问来源于stack exchange,提问作者Black
相关产品推荐
相关产品推荐

