2014-09-23 93 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 

你應該考慮如何將這個應用到你的具體例子。