用Python6种方法:给定一个不超过5位的正整数,判断有几位
2024-10-19 16:26:35
方法一:作比较
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)
最新文章
- java 引用传递及基本应用
- 深入研究java.lang.Runtime类
- python列表、元祖、字典
- python raw String 获取字符串变量中的反斜杠
- Cocoapods的安装,卸载和使用
- VS2010最常用快捷键
- cocoapod的下载安装解释
- Eclipse下配置tomcat且使用eclipse开启debug模式,集成JAD反编译插件
- zoj 1648 判断线段是否相交
- Check Big/Little Endian
- [BZOJ 1188] [HNOI2007] 分裂游戏 【博弈论|SG函数】
- Socket模拟HTTP请求
- Nginx从入门到实践(三)
- 【强大精美的PS特效滤镜合集】Alien Skin Eye Candy for Mac 7.2.2.20
- KaliLinuxNetHunter教程实施刷机解锁Bootloader
- CRM系统(第二部分)
- 6、申请发布(Distribution)证书和描述文件
- 最大子数组问题/Maximum Subarray
- source.android.google &;&; developer.android.google
- 深入浅出理解依赖注入这种由外部负责其依赖需求的行为,我们可以称其为 “控制反转(IoC)”