26):题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

    程序分析:学会分解出每一位数。

    程序源代码:

  1. #!/usr/bin/python
  2. # -*- coding: UTF-8 -*-
  3.  
  4. x = int(raw_input("请输入一个数:\n"))
  5. a = x / 10000
  6. b = x % 10000 / 1000
  7. c = x % 1000 / 100
  8. d = x % 100 / 10
  9. e = x % 10
  10.  
  11. if a != 0:
  12. print "5 位数:",e,d,c,b,a
  13. elif b != 0:
  14. print "4 位数:",e,d,c,b,
  15. elif c != 0:
  16. print "3 位数:",e,d,c
  17. elif d != 0:
  18. print "2 位数:",e,d
  19. else:
  20. print "1 位数:",e

    以上实例输出结果为:

  1. 请输入一个数:
  2. 23459
  3. 5 位数: 9 5 4 3 2
  1. 请输入一个数:
  2. 3472
  3. 4 位数: 2 7 4 3
  1. #!/usr/bin/python
  2. # -*- coding: UTF-8 -*-
  3.  
  4. print( '请输入大于10的数字:' )
  5. n=input()
  6. x=[]
  7. i=0;
  8. while(n!=0):
  9. x.append(n%10)
  10. i+=1
  11. n/=10
  12. print( '该数有 %d 位\n' %i )
  13. print( '逆序为:\n')
  14. print( x[::] )

    输出实例:

  1. 请输入大于10的数字:
  2. 12345
  3. 该数有 5
  4.  
  5. 逆序为:
  6.  
  7. [5, 4, 3, 2, 1]
  1. #!/usr/bin/python
  2. # -*- coding: UTF-8 -*-
  3.  
  4. print '输入大于10的数字:'
  5. n=input()
  6. x=str(n)
  7. for i in range(len(x)-1,-1,-1):
  8. print x[i], # , 号设置不换行

    测试输出结果:

  1. 输入大于10的数字:
  2. 12345
  3. 5 4 3 2 1
  1. #!/usr/bin/python
  2. # -*- coding: UTF-8 -*-
  3.  
  4. print( '请输入大于10的数字:' )
  5. a =input()
  6. if (len(str(a)) > 0) and (len(str(a)) <= 5) :
  7. print "%s 是 %d 位数" %(a, len(str(a)))
  8. newstr = str(a)[::-1]
  9. print newstr
  10. for i in newstr:
  11. print i
  1. #!/usr/bin/python
  2. # -*- coding: UTF-8 -*-
  3.  
  4. def output(num,l):
  5.     if l == 0:
  6.         return
  7.     print (num[l-1]),
  8.     output(num,l-1)
  9.  
  10. num = raw_input('输入小于5位正整数 :' )
  11. l = len(num)
  12. output(num,l)
  13. print '\n长度为: %d' % l

    Python3 下使用列表的 reverse 方法:

  1. #!/usr/bin/env python3
  2.  
  3. num = list(input('输入一个最多5位的数字:'))
  4. print(len(num))
  5. num.reverse()
  6. for i in range(len(num)):
  7. print(num[i], end='')
  1. #!/usr/bin/python3
  2. # coding:utf-8
  3.  
  4. s = str(input())
  5. def fun(m):
  6. if len(m) == 1:
  7. return m[0]
  8. else:
  9. return (m[len(m) - 1] + fun(m[:(len(m) - 1)]))
  10. if len(s) > 5:
  11. print("输入数字超过限定位数,输入无效")
  12. else:
  13. print('数位:%s\n输入的数字:%s\n逆序数字:%s' % (len(s), s, fun(s)))
  1. #!/usr/bin/python
  2. # coding:utf-8
  3.  
  4. arr=[]
  5. def out_num(n):
  6. length = len(str(n))
  7. print "%d位数"%length
  8. for i in range(1, length+1):
  9. arr.append((n % (10**i))/10**(i-1))
  10. print arr
  11. out_num(245984)
  1. #!/usr/bin/env python
  2. # -*- coding: UTF-8 -*-
  3.  
  4. import sys
  5.  
  6. s = 12345
  7. s = str(s)[::-1]
  8. print '%d 位数' % len(s)
  9. for i in range(len(s)):
  10. sys.stdout.write(s[i]+' ')

    Python3 测试实例:

  1. # coding:utf-8
  2. num=int(input("请输入一个正整数:"))
  3. def fn(s):
  4. if len(s)==1:
  5. return(s[0])
  6. else:
  7. a=s[-1]
  8. s=s[:-1]
  9. return(a+fn(s))
  10.  
  11. while 1:
  12. if num<=0 or len(str(num))>5:
  13. num=int(input("输入错误,请重新输入:"))
  14. else:
  15. num=str(num)
  16. print()
  17. print("它是%d位数" % len(num))
  18. print("逆序打印:",fn(num))
  19. break
  1. #!/usr/bin/python
  2. # -*- coding: UTF-8 -*-
  3.  
  4. def num(strl):
  5. l = len(str(strl))
  6. lis = []
  7. for i in range(l):
  8. x = strl % 10
  9. strl /= 10
  10. lis.append(x)
  11. print "长度为:{0}, \n逆序为:{1}".format(l,''.join(str(x) for x in lis) )
  12. num(123)

    Python3 下测试:

  1. #!/usr/bin/python3
  2.  
  3. x=input('请输入一个数:\n')
  4. a = len(x)
  5. print('这是一个{}位数'.format(a))
  6. b = -1
  7. while a != 0:
  8. a -= 1
  9. if b == -1:
  10. print(x[-1:],end=' ')
  11. b=b-1
  12. else :
  13. print(x[b:b+1],end=' ')
  14. b=b-1

    Python3 下测试:

  1. #!/usr/bin/python3
  2.  
  3. def backn(n):
  4. ls = str(n); s = len(ls)
  5. ls = ls[s-1:0:-1] + ls[0]
  6. return ls, s
  7. #测试:
  8. backn(123456) #输出:(['654321'], 6)
  1. #!/usr/bin/python
  2. # -*- coding: UTF-8 -*-
  3.  
  4. num1=int(input("Please input a int <10000:"))
  5. for i in range(4,1,-1):
  6.     if num1>10**i:
  7.         print(i+1)
  8.         break
  9.  
  10. list1=[]
  11. for j in range(i,-1,-1):
  12.     list1.append(int(num1/(10**j)))
  13.     num1=num1%(10**j)
  14. for k in range(i,-1,-1):
  15.     print(list1[k])

    Python3 下测试:

  1. number = 12344
  2. print("数字%d," % number, end="")
  3. n = 0
  4. result = ""
  5. while number > 0:
  6. result += str(number % 10)
  7. number //= 10
  8. n += 1
  9. print("是%d位数, 逆序: %d" % (n, int(result)))

主要内容就是数字操作。如果感觉不错的话请多多点赞支持哦。。。

  原文链接:https://blog.csdn.net/luyaran/article/details/80074827

python2.7练习小例子(二十六)的更多相关文章

  1. python2.7练习小例子(十六)

    16):题目:输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数.     程序分析:利用 while 或 for 语句,条件为输入的字符不为 '\n'.     程序源代码: #!/u ...

  2. python2.7练习小例子(十二)

        12):题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数" ...

  3. python2.7练习小例子(十)

        10):古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?     程序分析:兔子的规律为数列1,1 ...

  4. python2.7练习小例子(十八)

    19):题目:一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完数.      #!/usr/bin/python # -*- ...

  5. python2.7练习小例子(十五)

        15):题目:输出指定格式的日期.     程序分析:使用 datetime 模块.     程序源代码: #!/usr/bin/python # -*- coding: UTF-8 -*- ...

  6. python2.7练习小例子(十四)

        14):题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示.     程序分析:程序分析:(a>b)?a:b这 ...

  7. python2.7练习小例子(十九)

        19):题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? #!/usr/bin/python # -*- codi ...

  8. 微信小程序把玩(二十六)navigator组件

    原文:微信小程序把玩(二十六)navigator组件 navigator跳转分为两个状态一种是关闭当前页面一种是不关闭当前页面.用redirect属性指定. 主要属性: wxml <naviga ...

  9. JAVA之旅(二十六)——装饰设计模式,继承和装饰的区别,LineNumberReader,自定义LineNumberReader,字节流读取操作,I/O复制图片

    JAVA之旅(二十六)--装饰设计模式,继承和装饰的区别,LineNumberReader,自定义LineNumberReader,字节流读取操作,I/O复制图片 一.装饰设计模式 其实我们自定义re ...

  10. Web 前端开发人员和设计师必读精华文章【系列二十六】

    <Web 前端开发精华文章推荐>2014年第5期(总第26期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 ...

随机推荐

  1. June 01st 2017 Week 22nd Thursday

    Do what you say, say what you do. 做你说过的,说你能做的. Do what I have said, live up to my promise, answer th ...

  2. 建立自己的git账户并保存资料的重要性

    Github是一个代码托管平台和开发者社区,开发者可以在Github上创建自己的开源项目并与其他开发者协作编码.创业公司可以用它来托管软件项目,开源项目可以免费托管,私有项目需付费.[2] GitHu ...

  3. IDEA tomcat热部署方法及乱码问题解决

    在项目开发过程中,我们一般希望在修改完代码之后不重启项目即可提现出修改的结果,那么热部署项目就显得十分必要了.在idea中将项目热部署至tomcat中的方法如下: 首先打开tomcat配置界面,在se ...

  4. Velocity 模板

    Velocity 模板引擎介绍 引:https://www.ibm.com/developerworks/cn/java/j-lo-velocity1/ 在 现今的软件开发过程中,软件开发人员将更多的 ...

  5. android 中组件继承关系图,一目了然

    View继承关系图 Adapter适配器继承关系图 Activity继承关系图

  6. 2018.9.28 典型for循环特殊理解及其二维数组的理解

    如果for里面换成了函数结果会是怎么样呢?下面就来介绍一下 package praDemo; public class Test { public static boolean foo(char c) ...

  7. axios简单了解

    简单介绍 axios是基于客户端的promise,面向浏览器和nodejs 特色 浏览器端发起XMLHttpRequests请求 node端发起http请求 支持Promise API 监听请求和返回 ...

  8. 运行出现Server Tomcat v8.5 Server at localhost failed to start.和A child container failed during start

    出现问题: 解决方法: 1.看servlet文件中的@WebServlet“()”,里面是否少了/字符,如图: 加上即可,有问题随时留言,欢迎您的咨询!

  9. 【luogu P1774 最接近神的人_NOI导刊2010提高(02)】 题解

    题目链接:https://www.luogu.org/problemnew/show/P1774 归并排序求逆序对. #include <cstdio> #define livelove ...

  10. 微信开发----JS-SDK接口

    2018.03.15:GitHub下载代码 208.3.6:更新:我们不再使用JosnHelp返回字典类或者强类型,而是直接返回动态类型,这样就会方便的多. JsonHelp更新详情:微信开发---- ...