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

在Python中如何仅使用while循环移除数字左侧的数位?

用while循环实现Python数字左侧数位移除方法

实现思路

  • 每次移除左侧最高位的核心是先计算当前数字的最高位位权(如3位数对应10^2=100),再通过取模运算去掉最高位
  • 全程仅使用while循环实现位权计算、迭代移除两个逻辑,不借助其他额外内置方法

完整实现代码

# 初始输入数字
num = 997
current_num = num

while current_num >= 10:
    # 用while循环计算当前数字的最高位位权
    divisor = 1
    temp = current_num
    while temp >= 10:
        divisor *= 10
        temp = temp // 10
    
    # 移除左侧第一位并输出结果
    current_num = current_num % divisor
    print(current_num)

运行效果说明

输入初始值为997时,代码会依次输出:

97
7
完全匹配需求示例的输出效果。

逻辑解释

  • 内层while循环负责计算位权:通过不断将临时变量整除以10,直到数值小于10,同步累加位权数值
  • 外层while循环控制迭代次数:只要当前数字还大于等于10,就存在可移除的左侧数位,循环继续执行
  • 取模运算current_num % divisor 可直接得到移除最高位后的结果,无需单独计算最高位数字再做减法,逻辑更简洁

如果需要将所有移除后的结果存储到列表中,可使用变体代码:

num = 997
current_num = num
result_list = []

while current_num >= 10:
    divisor = 1
    temp = current_num
    while temp >= 10:
        divisor *= 10
        temp = temp // 10
    current_num = current_num % divisor
    result_list.append(current_num)

print(result_list)  # 输出:[97, 7]

内容的提问来源于stack exchange,提问作者muky120

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 13:06:03