python3的int类型是几位的?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3的int类型是几位的?相关的知识,希望对你有一定的参考价值。

参考技术A

python3中的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类型是几位的?的主要内容,如果未能解决你的问题,请参考以下文章

python是几比特?

规定int8位,那么char,short,long,float,double各是几位啊???谢谢了~~~

JAVA中一个float除以一个int变量,得到的结果精确到几位?

python基础3:数据类型

Python:给定一个不超过5位的正整数,判断有几位

python3.6数据类型之int类型