python 中出现溢出错误?

OverflowError in python?

处出现 OverflowError: int 太大而无法转换为 float
l = (number // 10)*n

这是什么意思,如何解决?

这就是全部代码

def main():
    count = 0
    n = 10
    t = int(input())
    arr = []
    for i in range(t):
        number = int (input())
        print(number)
        while number != 0:
            l = (number // 10)*n
            print(l)
            if l != 0:
                count += 1
                arr.append(l)
            number = number / 10
            n = n * 10
        print(count)
        print(arr)


if __name__ == '__main__':
    main()

while 循环为 运行 时,数字值的变化不会影响 while 条件。所以你必须使用 if-else.

break 循环
def main():
    count = 0
    n = 10
    t = int(input())
    arr = []
    for i in range(t):
        number = int (input())
        print(number)
        while True:
            l = (number // 10)*n
            print(l)
            if l != 0:
                count += 1
                arr.append(l)
            number = number / 10
            n = n * 10
            if int(number) == 0:
                break
        print(count)
        print(arr)


if __name__ == '__main__':
    main()

输出:

2
25
25
20
0.0
1
[20]