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ć
相关产品推荐
相关产品推荐

