python3的int类型是几位的?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3的int类型是几位的?相关的知识,希望对你有一定的参考价值。
参考技术Apython3中的int类型是动态长度的,是长整型,理论支持无限大的数字。用sys.getsizeof()方法可以看int占了几位。例如:
sys.getsizeof(0)=24
sys.getsizeof(1)=28
所以,0占了24个字节,其它数字一般占用28个字节。以上结果是在64位操作系统上进行测试的结果。
扩展资料:
int在python里是一个类,是不可变数据类型中的一种,一些性质和字符串是一样的,是整型。Python int数字类型:整型int、长整型、布尔型bool、浮点数float、复数complex。
整型int的创建:创建一个新整型变量和给变量赋值是相同的过程。
整型的特点:既然是整型自然赋值时候的数据要是整数才行,整数简单理解为(正整数和负整数)。
Python:给定一个不超过5位的正整数,判断有几位
方法一:作比较
[[email protected] markPy]# cat five.py #!/usr/bin/python3 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
方法三:
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)
欢迎补充~
以上是关于python3的int类型是几位的?的主要内容,如果未能解决你的问题,请参考以下文章
规定int8位,那么char,short,long,float,double各是几位啊???谢谢了~~~