检查python var if int [重复]
Posted
技术标签:
【中文标题】检查python var if int [重复]【英文标题】:Check python var if int [duplicate] 【发布时间】:2017-12-12 03:02:36 【问题描述】:我正在尝试让 python 检查某个变量是否为 int
numbergames = input("Number of Games to Analyze: ")
valuenumber = True
while valuenumber == True:
if numbergames == int:
valuenumber = False
if numbergames != int:
numbergames = input("Please type a valid number: ")
print("Thanks")
即使输入的数字是 int,代码也会卡住并且没有退出循环。
【问题讨论】:
int
是 type
,而不是整数的实例。使用isinstance(numbergames,int)
docs.python.org/3.6/library/functions.html#isinstance
关于如何处理用户输入,看看这个问题。 ***.com/a/23294659/1977847
【参考方案1】:
一般来说,不鼓励使用type()
来识别输入是int、float 等。这是因为它没有将int
的子类注册为int
。
改为使用isinstance('var', (int, long))
,这将给出预期的正确结果。因此,您的代码将采用以下形式:
numberGames = input("Number of Games to Analyze: ")
while True:
if isinstance( numberGames, (int, long) ):
break
else:
numberGames = input("Please type a valid number: ")
print("Thanks")
您不需要valueNumber
变量,因为它的唯一用途是作为while 循环的标志。相反,它可以使用True
无限期地继续运行,直到到达break
,因为该语句告诉程序退出循环。
【讨论】:
以上是关于检查python var if int [重复]的主要内容,如果未能解决你的问题,请参考以下文章