我怎样才能有一个 int 变量,其中 0 作为 Python 中的第一个数字?

How can I have an int variable with 0 as the first number in Python?

所以,我在学校评估之前做了一些练习,想知道我如何做到这样当我输入一个以 0 作为第一个值的整数时,它不会将其转换为整数开头没有零。这是我的程序的一小部分摘录:

initialNumber = int(input("Enter your 10 digit number: "))

while len(str(initialNumber)) != 10:
    print("Next time please enter a 10 digit numerical value excluding decimals...")
    time.sleep(1)
    initialNumber = int(input("Enter your 10 digit number: "))

calculator()

我正在使用 Python 3.4,我知道我可以按照以下方式做一些事情:

initialNumber = input("Enter your ten digit number")

我知道使用它可以保留“0”,但我需要将字符串转换为整数以用于算术目的。任何帮助将不胜感激:)

虽然我个人认为这样做没有意义。在执行数学运算之前,我会创建一个字符串变量来保存前导零。

initialNumber = (raw_input("Enter your 10 digit number: "))

while len(str(initialNumber)) != 10:
    print("Next time please enter a 10 digit numerical value excluding decimals...")
    time.sleep(1)
    initialNumber = (raw_input("Enter your 10 digit number: "))

leadingZeros = (len(initialNumber) - len(str(int(initialNumber)))) * "0"

calculator()

算术运算后,您可以轻松地将零连接到输出的开头。

如果您想要输入调用列表中的十个单独的整数并映射到整数:

initialNumber = list(map(int,(input("Enter your 10 digit number: "))))


In [1]: initialNumber = list(map(int,(input("Enter your 10 digit number: "))))
Enter your 10 digit number: 0123456789

In [2]: initialNumber
Out[2]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

while True:
    initialNumber = input("Enter your 10 digit number: ")
    if len(initialNumber) != 10 or not initialNumber.isdigit():
        print("Invalid input")
    else:
        print(list(map(int,initialNumber)))
        break

通常你会使用 try/except 来检查输入是否为数字,但允许负数是行不通的,因为字符计数是错误的。