2014-09-23 87 views
1

我对Python比较陌生。我想提出一个基本的程序,可以找出参数是否在函数中有一个整数。我不知道该把什么放入空白处。我通常不使用if/in类型配对。该功能的基础是这样的:Python - 确定参数是否是整数

def is_number(char): 
      if (somethinghere) in (somethinghere): 
        return True 
      else: 
        return False 

结果应该是:

is_number('4') 
    True 
is_number('nothing') 
    False 
+0

通常情况下,您只需要在(somethinghere)处写入'return(somethinghere)',而不是使用'if'语句和布尔文字。 – chepner 2014-09-24 01:48:21

回答

1
def is_number(char): 
    return char.isdigit() 

您可以使用str.isdigit如果你正在处理的正数

你可能会想使用一个try/except为更一般的使用,但使用float而不是int或十进制数不会被视为numbe RS:

def is_number(char): 
    try: 
     float(char) 
    except ValueError: 
     return False 
    return True 

你也不需要一个其他的代码,如果False返回你的代码不会再往前走。

它是一样的使用return char.isdigit()结果将是TrueFalse所以没有必要为if/else

In [4]: is_number('4.3') 
Out[4]: True 

In [5]: is_number('0.3') 
Out[5]: True 

In [6]: is_number('03') 
Out[6]: True 

In [7]: is_number('foo') 
Out[7]: False 
+0

但-4是一个数字 – wim 2014-09-23 23:32:12

5

在Python的常用方法不会与if/else语句,而是使用try /除外:

def is_number(char): 
    try: 
     int(char) 
    except ValueError: 
     return False 
    else: 
     return True 
3

有很多方法可以做到这一点,但我觉得练习提示你使用这种方法:

'a' in 'abcde' 
Out[1]: True 

'f' in 'abcde' 
Out[2]: False 

你应该考虑如何将这个应用到你的具体例子。