python2.7练习小例子(二十六)
26):题目:给一个不多于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
#!/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[::] )
输出实例:
请输入大于10的数字:
12345
该数有 5 位 逆序为: [5, 4, 3, 2, 1]
#!/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], # , 号设置不换行
测试输出结果:
输入大于10的数字:
12345
5 4 3 2 1
#!/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 i
#!/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
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='')
#!/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)))
#!/usr/bin/python
# coding:utf-8 arr=[]
def out_num(n):
length = len(str(n))
print "%d位数"%length
for i in range(1, length+1):
arr.append((n % (10**i))/10**(i-1))
print arr
out_num(245984)
#!/usr/bin/env python
# -*- coding: UTF-8 -*- import sys s = 12345
s = str(s)[::-1]
print '%d 位数' % len(s)
for i in range(len(s)):
sys.stdout.write(s[i]+' ')
Python3 测试实例:
# coding:utf-8
num=int(input("请输入一个正整数:"))
def fn(s):
if len(s)==1:
return(s[0])
else:
a=s[-1]
s=s[:-1]
return(a+fn(s)) while 1:
if num<=0 or len(str(num))>5:
num=int(input("输入错误,请重新输入:"))
else:
num=str(num)
print()
print("它是%d位数" % len(num))
print("逆序打印:",fn(num))
break
#!/usr/bin/python
# -*- coding: UTF-8 -*- def num(strl):
l = len(str(strl))
lis = []
for i in range(l):
x = strl % 10
strl /= 10
lis.append(x)
print "长度为:{0}, \n逆序为:{1}".format(l,''.join(str(x) for x in lis) )
num(123)
Python3 下测试:
#!/usr/bin/python3 x=input('请输入一个数:\n')
a = len(x)
print('这是一个{}位数'.format(a))
b = -1
while a != 0:
a -= 1
if b == -1:
print(x[-1:],end=' ')
b=b-1
else :
print(x[b:b+1],end=' ')
b=b-1
Python3 下测试:
#!/usr/bin/python3 def backn(n):
ls = str(n); s = len(ls)
ls = ls[s-1:0:-1] + ls[0]
return ls, s
#测试:
backn(123456) #输出:(['654321'], 6)
#!/usr/bin/python
# -*- coding: UTF-8 -*- num1=int(input("Please input a int <10000:"))
for i in range(4,1,-1):
if num1>10**i:
print(i+1)
break list1=[]
for j in range(i,-1,-1):
list1.append(int(num1/(10**j)))
num1=num1%(10**j)
for k in range(i,-1,-1):
print(list1[k])
Python3 下测试:
number = 12344
print("数字%d," % number, end="")
n = 0
result = ""
while number > 0:
result += str(number % 10)
number //= 10
n += 1
print("是%d位数, 逆序: %d" % (n, int(result)))
主要内容就是数字操作。如果感觉不错的话请多多点赞支持哦。。。
原文链接:https://blog.csdn.net/luyaran/article/details/80074827
python2.7练习小例子(二十六)的更多相关文章
- python2.7练习小例子(十六)
16):题目:输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. 程序分析:利用 while 或 for 语句,条件为输入的字符不为 '\n'. 程序源代码: #!/u ...
- python2.7练习小例子(十二)
12):题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数" ...
- python2.7练习小例子(十)
10):古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序分析:兔子的规律为数列1,1 ...
- python2.7练习小例子(十八)
19):题目:一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完数. #!/usr/bin/python # -*- ...
- python2.7练习小例子(十五)
15):题目:输出指定格式的日期. 程序分析:使用 datetime 模块. 程序源代码: #!/usr/bin/python # -*- coding: UTF-8 -*- ...
- python2.7练习小例子(十四)
14):题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示. 程序分析:程序分析:(a>b)?a:b这 ...
- python2.7练习小例子(十九)
19):题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? #!/usr/bin/python # -*- codi ...
- 微信小程序把玩(二十六)navigator组件
原文:微信小程序把玩(二十六)navigator组件 navigator跳转分为两个状态一种是关闭当前页面一种是不关闭当前页面.用redirect属性指定. 主要属性: wxml <naviga ...
- JAVA之旅(二十六)——装饰设计模式,继承和装饰的区别,LineNumberReader,自定义LineNumberReader,字节流读取操作,I/O复制图片
JAVA之旅(二十六)--装饰设计模式,继承和装饰的区别,LineNumberReader,自定义LineNumberReader,字节流读取操作,I/O复制图片 一.装饰设计模式 其实我们自定义re ...
- Web 前端开发人员和设计师必读精华文章【系列二十六】
<Web 前端开发精华文章推荐>2014年第5期(总第26期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 ...
随机推荐
- WAKE-WIN10-SOFT-GITHUB
1,GITHUB 官网:https://github.com/ 2,软件工具 ,,,,,,
- 获取v$latch数据源实验
实验环境:Oracle Rac 11.2.0.3 首先获取v$latch的定义:通过PL/SQL或者get ddl等常规途径只能获取到v_$latch相关的视图信息.需要通过特殊方法获取v$latch ...
- bzoj 3339 莫队
题意: 求任意一个区间的SG函数. 想到线段树,但是线段树合并很麻烦. 线段树——分块. 分块的一个应用就是莫队算法. 怎么暴力递推呢? 从一个区间到另一个区间,Ans 取决于 Ans 和 加入和删除 ...
- 教你用SingalR实现后台开发程序运行时时检测
在调试js的时候都喜欢用console.log输出相应的运行结果或者查看变量值,以便于调试程序bug,可是程序后台代码运行的时候,本地没有问题,线上代码有问题怎么办呢,写日志是一个办法,可是有没有更直 ...
- vue---组件引入及使用的几种方式
在vue的项目开发过程中,基本都是基于组件化开发项目,总结下使用组件的几个点: 一.@符号的使用 在vue项目中 @ 符号代表的是根目录,即 src 目录. 二.组件的放置位置 在项目中,公用的组件放 ...
- 九、IntelliJ IDEA 编译方式介绍及编译器的设置和选择
相对于 Eclipse 的实时自动编译,IntelliJ IDEA 的编译更加手动化,虽然 IntelliJ IDEA 也可以通过设置开启实时编译,但是太浪费资源了,因此不建议这样做.IntelliJ ...
- Visual Studio 2015 Tools for Unity安装
https://blogs.msdn.microsoft.com/visualstudio/tag/visual-studio-tools-for-unity/ 下载对应的VS版本 里边可以找到下载地 ...
- oracle 分组函数、视图
组函数 分组函数作用于一组数据,对每一组返回一个值 组函数类型: 1.计数 count(列名 或 表达式) 对满足的行数进行统计 2.求和 sum(列名 或 表达式 ...
- Nacicat for Oracle 绿色版 亲测可用
参考: http://blog.csdn.net/u013107634/article/details/52741591 https://blog.csdn.net/zhengyikuangge/ar ...
- 【oracle使用笔记2】使用Oracle数据库遇到的若干问题总结
一. 关于Oracle 11g数据库在查询表中数据显示中文乱码问题 [描述]本人一开始使用的Oracle是11g版本的,用PLSQL一次查询表中的数据时出现了中文显示乱码,为此搜了许多解决办法,最终通 ...