Python实现数位提取--个位、十位等

文章介绍了两种方法来处理四位数字1234,一种是通过将数字倒序并按索引获取每位,另一种是使用取模和整除操作逐位提取。还给出了一个通用函数`extracion`,用于根据算法二的原则提取任意整数的各个位。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 '''
需求:
1.获取四位数字1234
2.输出四位数字的每一位,千位 1,百位2 十位3 个位4
'''

list_digit = ["个位","十位","百位","千位","万位","十万位","百万位","千万位","亿位"]
#算法一:
#将数字倒序存进列表,通过索引获取每位数字

int_num = 1234
list_num = list(str(int_num))[::-1]

for i in range(len(list_num)):
  print(list_digit[i],list_num[i])

"""
算法二
个位: 1234 % 10
十位: 1234 % 100 // 10
百位: 1234 % 1000 // 100
千位: 1234 // 1000
"""
print(int_num % 10)
print(int_num % 100 // 10)
print(int_num % 1000 // 100)
print(int_num // 1000)

#根据算法二原理编制通用函数
def extracion(int_num): 
  int_count = len(str(int_num))
  int_units_place = int_num % 10 #个位
  int_last_place = int_num // (10 ** (int_count - 1 )) #最高位
  
  list_digit = [int_units_place] #暂时存储数位,将个位存进去
  #其他位
  for i in range(1,int_count-1):
    list_digit.append(int_num % (10 ** (i+1)) // (10 ** i))
    
  list_digit.append(int_last_place) #将最高位存进去

  return list_digit

print(extracion(123456))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

墨非墨Lg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值