Python 练习实例29
题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
程序分析:学会分解出每一位数。
程序源代码:
实例
#!/usr/bin/python
# -*- coding: UTF-8 -*-
x = int(raw_input("请输入一个数:\n"))
a = x / 10000
b = x % 10000 / 1000
c = x % 1000 / 100
d = x % 100 / 10
e = x % 10
if a != 0:
print "5 位数:",e,d,c,b,a
elif b != 0:
print "4 位数:",e,d,c,b,
elif c != 0:
print "3 位数:",e,d,c
elif d != 0:
print "2 位数:",e,d
else:
print "1 位数:",e
以上实例输出结果为:
请输入一个数: 23459 5 位数: 9 5 4 3 2
请输入一个数: 3472 4 位数: 2 7 4 3
Python 100例
叮咚
1269359648@qq.com
其他解法
#!/usr/bin/python # -*- coding: UTF-8 -*- print( '请输入大于10的数字:' ) n=input() x=[] i=0; while(n!=0): x.append(n%10) i+=1 n/=10 print( '该数有 %d 位\n' %i ) print( '逆序为:\n') print( x[::] )输出实例:
叮咚
1269359648@qq.com
叮咚
1269359648@qq.com
其他参考解法:
#!/usr/bin/python # -*- coding: UTF-8 -*- print '输入大于10的数字:' n=input() x=str(n) for i in range(len(x)-1,-1,-1): print x[i], # , 号设置不换行测试输出结果:
叮咚
1269359648@qq.com
mythwind
774202013@qq.com
其他参考解法:
#!/usr/bin/python # -*- coding: UTF-8 -*- print( '请输入大于10的数字:' ) a =input() if (len(str(a)) > 0) and (len(str(a)) <= 5) : print "%s 是 %d 位数" %(a, len(str(a))) newstr = str(a)[::-1] print newstr for i in newstr: print imythwind
774202013@qq.com
未来星
mashiping2010@163.com
其他参考解法:
#!/usr/bin/python # -*- coding: UTF-8 -*- def output(num,l): if l == 0: return print (num[l-1]), output(num,l-1) num = raw_input('输入小于5位正整数 :' ) l = len(num) output(num,l) print '\n长度为: %d' % l未来星
mashiping2010@163.com
等一个人
252343465@qq.com
Python3 下使用列表的 reverse 方法:
#!/usr/bin/env python3 num = list(input('输入一个最多5位的数字:')) print(len(num)) num.reverse() for i in range(len(num)): print(num[i], end='')等一个人
252343465@qq.com
swordzjc
hfut229@163.com
参考方法:
#!/usr/bin/python3 # coding:utf-8 s = str(input()) def fun(m): if len(m) == 1: return m[0] else: return (m[len(m) - 1] + fun(m[:(len(m) - 1)])) if len(s) > 5: print("输入数字超过限定位数,输入无效") else: print('数位:%s\n输入的数字:%s\n逆序数字:%s' % (len(s), s, fun(s)))swordzjc
hfut229@163.com