检查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,代码也会卡住并且没有退出循环。

【问题讨论】:

inttype,而不是整数的实例。使用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 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

python中的“if var”是啥意思?

Python检查字典中是不是存在值[重复]

如何在python中将单引号字符串转换为数字[重复]

数组中找到重复的数字

检查十进制 $var is_int,然后运行 ​​round()

JQuery / Javascript:检查var是不是存在[重复]