You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何逐次移除较大数字的首位数字直至剩余最后一位

Python移除数字首位的循环实现方案

下面提供两种可直接运行的实现方式,均符合你要求的循环逐次移除首位直到剩余最后一位的需求:

方法1:字符串切片实现(推荐,可读性高)

直接将数字转为字符串后用切片移除首位,无需复杂计算:

# 读取用户输入并做合法性校验
input_str = input("请输入正整数:").strip()
if not input_str.isdigit():
    print("输入错误,请输入有效的正整数")
else:
    current = input_str
    # 剩余位数大于1时持续移除首位
    while len(current) > 1:
        # 切片移除首位字符后转整数
        current = current[1:]
        processed_num = int(current)
        # 这里替换为你自己的后续处理逻辑,以下为示例输出
        print(processed_num)

输入9876时的运行输出为:

876
76
6

方法2:纯数学运算实现(无类型转换)

通过取模运算移除首位,适合需要纯数值操作的场景:

def remove_first_digit(n: int) -> int:
    # 计算当前数字的位数
    digit_len = 0
    temp = n
    while temp > 0:
        digit_len += 1
        temp = temp // 10
    # 计算对应位数的10的幂次
    divisor = 10 ** (digit_len - 1)
    # 取模即可去掉首位
    return n % divisor

# 主逻辑
num = int(input("请输入正整数:"))
current = num
while current >= 10:
    current = remove_first_digit(current)
    # 这里替换为你自己的后续处理逻辑,以下为示例输出
    print(current)

内容的提问来源于stack exchange,提问作者Zijad Bećirević

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 03:45:07