所以,我在学校评估之前做了一些练习,想知道我是怎么做的,所以当我输入一个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”,但我需要将字符串转换为整数以用于算术目的。任何帮助将不胜感激:)
答案 0 :(得分:2)
虽然我个人认为这样做没有意义。我会在执行数学运算之前创建一个字符串变量来保存前导零。
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()
在算术之后,您可以轻松地将零连接到输出的开头。
答案 1 :(得分:0)
如果您想从输入的输入调用列表中选择10个单独的int并将其映射到int:
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检查输入是否为数字,但允许负数不会起作用,因为输出字符数是错误的。