如何实现整数除最后一位外的其余数位分离并求和?
问题原因
现有代码存在两处问题:
- 变量名不匹配:代码中定义的数位列表变量为
di,但最终打印的是未定义的dig,运行时会直接抛出变量未定义错误 - 缺少求和逻辑:仅生成了除最后一位外的数位列表,未对列表内元素执行累加计算
修正后代码
n = int(input()) # 移除整数的最后一位 n = n // 10 # 遍历所有剩余数位求和 result = sum(int(digit) for digit in str(n)) print(result)
验证效果
- 输入
12345时,先移除最后一位得到1234,求和后输出10,符合示例要求 - 输入
123时,先移除最后一位得到12,求和后输出3,满足需求 - 输入个位数(如
5)时,移除最后一位得到0,求和后输出0,符合边界场景逻辑
内容的提问来源于stack exchange,提问作者nbmjwdjks
相关产品推荐
相关产品推荐

