用Python输入一个三位数并求各位数字之和,核心方法是提取百位、十位和个位数值后相加。例如输入382,计算,代码简洁高效且需包含输入验证确保数据有效性。
- 基础实现逻辑:通过整除(
//
)和取余(%
)运算分解数字。百位=数值//100,十位=(数值%100)//10,个位=数值%10,三者相加即得和。示例代码:
python复制num = int(input("请输入三位数:"))
if 100 <= num <= 999:
total = (num//100) + ((num%100)//10) + (num%10)
print(f"各位数字之和为:{total}")
else:
print("输入无效!")
- 增强健壮性:处理字符串输入时,需验证长度和数字类型。例如:
python复制while True:
num = input("请输入三位数:")
if len(num) == 3 and num.isdigit():
total = sum(int(digit) for digit in num)
print(f"和为{total}")
break
print("输入错误,请重试!")
- 函数封装与复用:将逻辑封装为函数便于多次调用,例如:
python复制def sum_digits(n):
return sum(int(d) for d in str(n)) if 100 <= n <= 999 else None
提示:实际应用中可结合异常处理(如try-except
)或扩展为N位数求和,灵活适配需求。