0

我需要将用户提供的整数值分配给对象。我的格式如下:

object = input("Please enter an integer")

以下打印测试...

print(type(object))
print(object)

...返回<class 'str'>和“1”。有没有办法将“对象”的数据类型设置为用户输入值的数据类型?IOW,这样如果 object=1,type(object)=int? 我知道我可以使用以下命令将输入​​的数据类型设置为 int:

object = int(input("Please enter an integer"))

在这种情况下,如果用户不提供 int,控制台会抛出回溯错误,程序会崩溃。我更愿意测试该对象是否实际上是一个 int;如果没有,使用我的程序打印错误语句并递归抛出之前的提示。

4

2 回答 2

2
while True:
 try:
  object = int(input("Please enter an integer"))
  break
 except ValueError:
  print("Invalid input.  Please try again")
print(type(object))
print(object)
于 2013-01-28T22:40:24.620 回答
0

您始终可以捕获“回溯错误”并替换您自己的错误处理。

user_input = input("Please enter an integer")
try:
    user_number = int(user_input)
except ValueError:
    print("You didn't enter an integer!")
于 2013-01-28T22:37:31.097 回答