用Python6种方法:给定一个不超过5位的正整数,判断有几位
方法一:作比较
a=int(input(">>>>"))
if a<10:
print(1)
elif a<100: #第一个条件已经过滤了大于9,所以这里区间是11到100
print(2)
elif a<1000:
print(3)
elif a<10000:
print(4)
else:
print(5)
方法二:使用整除实现,除完后如果是个0或不是个0,这种方法引入了计算,效率会降低,所以能加就不要减,能乘就不要除,能不计算就不计算
i = int(intput('>>>')
if i // 10000:
print(5):
elif i // 1000:
print(4)
elif i // 100:
print(3)
elif i // 10:
print(2)
else:
print(1)
分析:假设是在5位的情况下,不考虑其他状况
In [1]: 6666 // 10000
Out[1]: 0 除以10000为零证明是小于5位数
In [2]: 6666 // 1000
Out[2]: 6 但是如果能被1000整除,它就是一个4位数
In [3]: 6666 // 100
Out[3]: 66
In [4]: 6666 // 10
Out[4]: 666
In [5]: 6666 // 1
Out[5]: 6666
PS:遇到问题没人解答?需要Python学习资料?可以加点击下方链接自行获取
note.youdao.com/noteshare?id=2dce86d0c2588ae7c0a88bee34324d76
方法三:
a=int(input(">>>"))
if a<0:
print("Format is wrong")
elif a<100000: ##限定5位
if a<10:
print(1)
elif a<100:
print(2)
elif a<1000:
print(3)
elif a<10000:
print(4)
else:
print(5)
else:
print("请输入一个不超过5位的数")
方法四:字符串处理实现
#!/usr/bin/python3
nnumber=input(">>>>")
length=len(nnumber)
if length>4:
print(5)
elif length>3:
print(4)
elif length>2:
print(3)
elif length>1:
print(2)
else:
print(1)
方法五:折半实现
#!/usr/bin/python3
number = int(input("number >> "))
if number >= 100: ##直接从100开始折
if number >= 10000:
print("5")
elif number >= 1000:
print("4")
else:
print("3")
else:
if number >= 10:
print("2")
else:
print("1")
方法六:math实现,这种方法比除法的更慢,如果循环100万次就很明显
number=int(input("输入一个不超过5位的正整数: ")
if a<=0 or a>=100000:
print('请输入一个不超过5位的正整数')
else:
import math
b=int(math.log10(a)+1)
print(b)
用Python6种方法:给定一个不超过5位的正整数,判断有几位的更多相关文章
- 可采用两种方法得到一个EJB对象
(本文是转载其他人的技术文章,觉得说得挺浅显易懂,特借来学习) 在前面学习的例子中,只有一个EJB,但是对于一个真实的项目,EJB的数量可以有很多,而且EJB之间也会互相调用,那么在一个EJB ...
- Python:给定一个不超过5位的正整数,判断有几位
方法一:作比较 [root@python markPy]# cat five.py #!/usr/bin/python3 a=int(input(">>>>" ...
- JavaScript两种方法来定义一个函数
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 解析Jquery取得iframe中元素的几种方法
iframe在复合文档中经常用到,利用jquery操作iframe可以大幅提高效率,这里收集一些基本操作,需要的朋友可以参考下 DOM方法:父窗口操作IFRAME:window.frames[&q ...
- 解决iReport打不开的一种方法
解决iReport打不开的一种方法 iReport版本:iReport-5.6.0-windows-installer.exe 系统:Win7 64位 JDK:1.7 在公司电脑安装没问题,能打开,但 ...
- Servlet 响应 响应相关与重定向 请求 获取表单数据2种方法
一.HttpServletResponse (响应) 包括下面三个: 1.响应消息行 HTTP/1.1 200 OK 200是HTTP状态码, 代表请求已成功. (查httpservletres ...
- (PASS)JAVA数组去重 三种方法 (不用集合)
第一种方法(只学到数组的看): 定义一个新的数组长度和旧数组的长度一样,存储除去重复数据的旧数组的数据和0, package demo01; import java.sql.Array; import ...
- iOS 批量上传图片的 3 种方法
AFNetworking 在去年年底升级到了 3.0.这个版本更新想必有很多好处,然而让我吃惊的是,它并没有 batch request 接口.之前的 1.x 版本.2.x 版本都实现了这个很常见的需 ...
- JS数据类型判断的几种方法
JS数据类型判断 JavaScript 中常见数据类型有Number.String.Boolean.Object.Array.Json.Function.Date.RegExp.Error.undef ...
随机推荐
- netty的调优-及-献上写过注释的源码工程
Netty能干什么? Http服务器 使用Netty可以编写一个 Http服务器, 就像tomcat那样,能接受用户发送的http请求, , 只不过没有实现Servelt规范, 但是它也能解析携带的参 ...
- JavaScript新手经常遇到的问题(二)
1.Form表单只提交数据而不进行页面跳转的方法 <script type="text/javascript" src="js/jquery/jquery-1.8. ...
- mac本地搭建svn
mac系统默认已经安装了svn,我们只需要配置并开启就可以了. 首先我们可以验证一下是否安装了svn,打开终端,输入命令 svnserve —version
- 大型情感剧集Selenium:6_selenium中的免密登陆与cookie操作
网站登录 现在各大平台在反爬虫功能上,可谓花样繁多.总结下来按照破解成功率排名,最高的是滑动解锁.其次是验证码数字.之后是一次点击对应的汉字,最后是想12306之前那种反人类的让你说那些是奶糖吧,哈哈 ...
- Python列表中的字典按照该字典下的键值进行排序
列表中的字典按照该字典下的键值进行排序 这算是排序中比较复杂的一种情况吧,多重嵌套,按照某种规则进行排序.如下面这个json(注:这里这是该列表中的一个项): [ { "stat" ...
- linux实用小命令--查看文本内容
一.cat命令 $ cat [参数]filename 这还有一些可以和cat命令一起用的参数,可能对你有所帮助. 1.-n 参数会所有的行加上行号: $ cat -n test1 2.这个功能在检查脚 ...
- 移动开发在路上-- IOS移动开发 五 网络请求封装
接着上次的讲,这次我们讲 网络请求的封装 打开创建的项目,让我们一起来继续完成他, 上次我们说到GET请求地址的拼接: 我们接着上次的继续完善: 下边我们要定义的是 block //定义block ...
- Django 2.0.7 使用小知识
Django 2.0.3 使用小知识 运行环境: Python 3.6.4 Django 2.0.7 Django Admin中model显示为中文 定义model时,定义一个Meta对象,设置需要显 ...
- Git下载安装及github基本操作
Windows下Git下载 官网提供的Git下载地址: 官网下载地址,一般直接从官网下载会出现无反应等情况,这里提供windows32和64位版本的百度网盘资源:windows下的Git下载地址.有需 ...
- 【JS】395-重温基础:事件
本文是 重温基础 系列文章的第二十篇. 这是第三个基础系列的第一篇,欢迎持续关注呀!重温基础 系列的[初级]和[中级]的文章,已经统一整理到我的[Cute-JavaScript](http://js. ...