您好,登錄后才能下訂單哦!
這篇文章主要講解了“python怎么判斷一個變量是不是數字”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“python怎么判斷一個變量是不是數字”吧!
判斷一個變量是不是數字?
str_list1 = [1234, '134', '134.151', '-134','一二三', '正三四五', '負四五六', '正三點一四一五']str_list2 = ['-', '--13', '34..421', '.134']
類似str_list1內部元素的變量都判為數字,類似str_list2內部元素的變量都判為非數字!
看答案之前最好嘗試自己寫一下,寫完了再和我寫的對比一下:
def isnumber(str_number): # 判斷字符串是不是數字if type(str_number) is int or type(str_number) is float: # 如果參數是數字型或浮點型,返回Truereturn Trueif type(str_number) != str or len(str_number) < 1: # 如果參數不是字符串型或長度小于1,返回Falsereturn Falsesymbol1 = ('+', '-', '正', '負') # 正負號symbol2 = ('.', '點') # 小數點if str_number[0] in symbol1: # 如果首字符是符號,那么整個字符串去除符號str_number = str_number[1:]if len(str_number) < 1: # 如果去除符號后長度為0,判斷不是數字return Falseelif str_number[0] in symbol2: # 首字符不能為小數點return Falsenumber = ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '零', '一', '二', '三', '四', '五', '六', '七', '八', '九') # 匹配模板result = True # 預設結果是Truepoint_times = 0 # 小數點次數str_len = len(str_number) # 計算整個字符串長度for i in range(str_len): # 遍歷整個字符串if str_number[i] in symbol2: # 如果當前字符是小數點point_times += 1 # 小數點次數+1if point_times > 1: # 小數點出現次數多于1個result = False # 判斷字符串不是數字breakelif str_number[i] not in number: # 如果當前字符不在模板內result = False # 判斷字符串不是數字breakreturn result str_list1 = [1234, '134', '134.151', '-134', '一二三', '正三四五', '負四五六', '正三點一四一五']str_list2 = ['-', '--13', '34..421', '.134']for i in str_list1:print(f"當前參數{i}{'是數字!' if isnumber(i) else '不是數字!'}")print('-'*50)for i in str_list2:ret = '是數字!' if isnumber(i) else '不是數字!'print(f"當前參數{i}{'是數字!' if isnumber(i) else '不是數字!'}")out:當前參數1234是數字! 當前參數134是數字! 當前參數134.151是數字! 當前參數-134是數字! 當前參數一二三是數字! 當前參數正三四五是數字! 當前參數負四五六是數字! 當前參數正三點一四一五是數字!--------------------------------------------------當前參數-不是數字! 當前參數--13不是數字! 當前參數34..421不是數字! 當前參數.134不是數字!
感謝各位的閱讀,以上就是“python怎么判斷一個變量是不是數字”的內容了,經過本文的學習后,相信大家對python怎么判斷一個變量是不是數字這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。