检查python变量是否为int
我试图让python检查某个变量是否为int检查python变量是否为int,python,if-statement,while-loop,int,Python,If Statement,While Loop,Int,我试图让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
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,代码也会被卡住,无法跳出循环。一般来说,不建议使用
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
,因为该语句告诉程序退出循环。int
是类型,而不是整数的实例。使用isinstance(numbergames,int)
有关如何处理用户输入,请查看此问题。