【问题标题】:Check python var if int [duplicate]检查python var if int [重复]
【发布时间】: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,代码也会卡住并且没有退出循环。

【问题讨论】:

标签: python if-statement while-loop int


【解决方案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,因为该语句告诉程序退出循环。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-04
    • 2012-12-06
    • 1970-01-01
    相关资源
    最近更新 更多