python分解五位数
1. 题目
题目:给一个不多于5位的正整数
要求:1. 求它是几位数 2. 逆序打印出各位数字。
程序分析:学会分解出每一位数。
2. 解法一
x = int(input("请输入一个数:")) # 12345
w = x // 10000 # 万
q = x % 10000 // 1000 # 千位
b = x % 1000 // 100 # 百位
s = x % 100 // 10 # 十位
g = x % 10 # 个位
if w != 0:
print ("这个数一共有五位:{0}{1}{2}{3}{4}".format(g,s,b,q,w))
elif q != 0:
print ("这个数一共有四位:{0}{1}{2}{3}".format(g,s,b,q))
elif b != 0:
print ("这个数一共有三位:{0}{1}{2}".format(g,s,b))
elif s != 0:
print ("这个数一共有二位:{0}{1}".format(g,s))
else:
print ("这个数一共有一位:{0}".format(g))
2. 解法二
num=int(input('请输入大于10的数字:'))
a=[]
i=0
while num!=0:
a.append(num%10)
# print(a)
i+=1
num = num//10
# print('该数有{}位:'.format(len(a)))
print('该数有{}位,逆序后:'.format(i),end='')
for i in a:
print(i,end='')
3. 解法三
num = list(input('输入一个最多5位的数字:'))
print('一共有'+str(len(num))+'位')
num.reverse()
a = ''
for i in range(len(num)):
a += num[i]
print('反转后为:',a)