如何让程序确定输入是否是python中的int?

如何让程序确定输入是否是python中的int?,python,while-loop,Python,While Loop,下午好。我正在尝试创建一个程序来打印数字的描述。我使用的是非常基本的python,在这个特定的问题上有点卡住了。有人能告诉我如何让程序区分数字以继续程序,以及Q、Bye或回车以结束语句吗 while True: N = eval(input("Enter an input: number to continue, Q, bye or carriage return to quit") if N == int N => 0 print("positive

下午好。我正在尝试创建一个程序来打印数字的描述。我使用的是非常基本的python,在这个特定的问题上有点卡住了。有人能告诉我如何让程序区分数字以继续程序,以及Q、Bye或回车以结束语句吗

while True:

    N = eval(input("Enter an input: number to continue, Q, bye or carriage return to quit")

    if N == int

        N => 0 print("positive")

        else print("negative")

您可以使用
isinstance

if isinstance(N,int):
    #do something
请注意,不建议使用这种方法。尤其是当您在
eval
ing
raw\u输入时。在这里,我将尝试以下内容:

#python2
try:
   N = int(raw_input("Enter integer:"))
except ValueError:
   print "Not an integer!"
或在python3上:

#python2
try:
   N = int(input("Enter integer:"))
except ValueError:
   print("Not an integer!")

根据上下文,我使用了两种不同的方法:

try:
    i = int(a)
except ValueError:
    print >>sys.stderr, "Cannot be converted to integer"


它应该如何应对浮动?不要使用
eval
,除非你知道它能做什么(邪恶的事情),并且只有在没有其他方法达到预期结果的情况下。很难不同意你,雅各布。我从来都不喜欢Python中关于类型检查的代码。我使用这些,因为它们是清晰的,流动是自然的。从姆吉尔森的回答来看,我可能会稍微优雅一点。。。
if type(a) == type(1):
    print "Yep, that's an int"