Python中如何实现整数个位数值清零(丢弃个位数字)
Python实现整数个位清零操作
你需要的「丢弃个位数字、将个位置为0」的操作,本质是将整数对齐到十位量级(取整到最近的10的倍数),直接用基础数值运算实现即可,不需要做字符串转换,执行效率更高。
核心实现方法
针对你给出的正整数场景,用整数除法+乘法的组合就能完成,Python 3 代码如下:
def shrink_num(num): return (num // 10) * 10
运行效果验证
对应你给出的测试用例,运行结果完全符合预期:
num = 123 num_shrunk = shrink_num(num) print(num_shrunk) # 输出 120 num = 93 num_shrunk = shrink_num(num) print(num_shrunk) # 输出 90
实现原理
- 第一步
num // 10是整数向下取整除法,会直接丢弃除以10之后的余数,自动抹掉个位的数值:123除以10取整得12,93除以10取整得9 - 第二步将取整后的结果乘以10,把数值还原到十位对应的量级,最终结果的个位自然为0
负整数兼容说明
如果业务场景需要处理负整数,可根据需求选择对应逻辑的写法:
- 保留向下取整逻辑:沿用
(num // 10) * 10写法,传入-123时会返回-130 - 采用截断个位逻辑:改用
int(num / 10) * 10写法,传入-123时会返回-120,和正整数的处理效果一致
内容的提问来源于stack exchange,提问作者MCPMH
相关产品推荐
相关产品推荐

