📜  在Python中实现 IsNumber()函数

📅  最后修改于: 2022-05-13 01:54:27.856000             🧑  作者: Mango

在Python中实现 IsNumber()函数

在本文中,我们将看到如何使用Python实现isNumber()方法。此方法接受一个字符串作为输入,并根据字符串是否为数字返回 True 或 False。
例子:

Input :  "12345"
Output :  True

Input : "-12345" 
Output : True 

Input : "abc"
Output : False

方法 :
在这里,我们将利用Python中可用的 int() 内置函数。同样通过这种方法,我们将看到异常处理如何帮助我们。使用 try-catch 构造,我们尝试将字符串转换为整数。如果无法转换字符串,则处理程序会捕获引发的异常。
下面是实现:

Python3
# Implementation of isNumber() function
def isNumber(s):
     
    # handle for negative values
    negative = False
    if(s[0] =='-'):
        negative = True
         
    if negative == True:
        s = s[1:]
     
    # try to convert the string to int
    try:
        n = int(s)
        return True
    # catch exception if cannot be converted
    except ValueError:
        return False
         
     
s1 = "9748513"
s2 = "-9748513"
s3 = "GeeksforGeeks"
 
print("For input '{}' isNumber() returned : {}".format(s1, isNumber(s1)))
print("For input '{}' isNumber() returned : {}".format(s2, isNumber(s2)))
print("For input '{}' isNumber() returned : {}".format(s3, isNumber(s3)))


输出 :

For input '9748513' isNumber() returned : True
For input '-9748513' isNumber() returned : True
For input 'GeeksforGeeks' isNumber() returned : False

注意:这不是实现 isNumber()函数的唯一方法,但可以说是最快的方法。 Try/Catch 不会引入太多开销,因为最常见的异常是在没有大量搜索堆栈帧的情况下捕获的。