提取数字各位数(个位、十位、百位...)的Python程序模板,支持正负数及零的处理,并包含两种常见方法:
提取数字各位数(个位、十位、百位...)的Python程序模板,支持正负数及零的处理,并包含两种常见方法:
方法1:数学取模法(从低位到高位)
num = int(input("请输入一个整数: "))
n = abs(num) # 处理负数
digits = []
# 提取各位数(从个位开始)
if n == 0:
digits = [0]
else:
while n > 0:
digits.append(n % 10) # 取最后一位
n = n // 10 # 去掉最后一位
print("从低位到高位:", digits)
print("从高位到低位:", digits[::-1]) # 反转得到高位优先
方法2:字符串转换法(从高位到低位)
num = input("请输入一个整数: ").strip()
sign = ''
# 处理符号位
if num.startswith(('-', '+')):
sign = num[0]
num = num[1:]
# 验证有效性
if not num.isdigit():
raise ValueError("输入包含非数字字符")
# 转换为数字列表
digits = [int(c) for c in num]
# 处理纯0输入
if not digits:
digits = [0]
print("从高位到低位:", digits)
print("从低位到高位:", digits[::-1]) # 反转得到低位优先
使用说明:
-
数学方法特点:
- 直接处理数值类型
- 默认输出顺序为低位优先(个位→十位→百位...)
- 自动处理负数(取绝对值)
-
字符串方法特点:
- 更直观的代码逻辑
- 默认输出顺序为高位优先(最高位→次高位→...→个位)
- 保留符号信息(可根据需求处理)
-
特殊处理:
- 零值输入:
[0] - 负数处理:自动取绝对值(数学方法)/保留符号信息(字符串方法)
- 无效输入检测(字符串方法)
- 零值输入:
示例输出:
输入:-12345
数学方法输出:
从低位到高位: [5, 4, 3, 2, 1]
从高位到低位: [1, 2, 3, 4, 5]
字符串方法输出:
从高位到低位: [1, 2, 3, 4, 5]
从低位到高位: [5, 4, 3, 2, 1]
根据需求选择方法:
- 需要数学运算时用方法1
- 需要保留原始数字特征时用方法2
- 按需使用反转操作
[::-1]调整顺序

浙公网安备 33010602011771号