如何让程序确定输入是否是python中的int?
下午好。我正在尝试创建一个程序来打印数字的描述。我使用的是非常基本的python,在这个特定的问题上有点卡住了。有人能告诉我如何让程序区分数字以继续程序,以及Q、Bye或回车以结束语句吗如何让程序确定输入是否是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
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
ingraw\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"