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

 '''
需求:
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))

你可能感兴趣的:(笔记,python,后端,python,开发语言,青少年编程,后端)