中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python如何判斷一個數值為整數

發布時間:2023-02-22 16:31:51 來源:億速云 閱讀:151 作者:iii 欄目:開發技術

這篇文章主要講解了“python如何判斷一個數值為整數”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“python如何判斷一個數值為整數”吧!

    如何判斷一個數值(字符串)為整數

    不嚴格檢查方法

    浮點數的自帶方法is_integer()

    如果確定輸入的內容為浮點數,是可以直接使用float數的is_integer()函數來進行判定。

    需要注意的是當數字是 1.0這樣的不帶小數數值的浮點數時,會被默認判定為整數

    a=1.0
    print(a.is_integer())
    #結果為
    True
    
    b=1.1
    print(b.is_integer())
    #結果為
    False

    但是如果數字本身就是int類型,那么沒有is_integer()函數,會報錯:

    a=1
    print(a.is_integer())
    
    #報錯
    Traceback (most recent call last):
      File "E:/PycharmOut/Test/TestAll/testString/intOrFloat.py", line 7, in <module>
        print(a.is_integer())
    AttributeError: 'int' object has no attribute 'is_integer'

    嚴格的檢查方法

    思路是:先檢查輸入的內容是否可以轉成float,之后再判定有沒有帶小數點

    def isIntSeriously(number):
        result = False
        try:
            n = float(number)
            if n.is_integer() and str(number).count('.') == 0:
                result =True
        except :
            print('非數字')
    
        return result
    
    
    print(isIntSeriously('a3'))
    print()
    print(isIntSeriously('3'))
    print()
    print(isIntSeriously('3.0'))
    
    #結果
    非數字
    False
    
    True
    
    False

    小結:

    當輸入確定為浮點類型時,我們關心的數值是否為整數,可以使用is_integer(),

    比如我就希望1.0,2.0這樣的是整數

    當不確定輸入類型時,可以使用上述嚴格的判定方法

    判斷輸入的字符串是否是整數還是小數

    遇到一個問題:如果輸入的是字符串還是整數或者是小數如何將他們區分?

    首先isdigit()只能用來判斷字符串輸入的是否是整數,無法判斷是否是小數

    所以,先判斷該字符串是否是整數,如果是返回3,

    不是的話說明是字母或者是小數,然后判斷是否是小數,如果是小數的話返回1,

    是字母的或其他的話返回2

    def is_float(i):
        if i.isdigit():#只能用來判斷整數的字符串
            return  3
        else:
            if i.count('.') == 1:  # 先判斷里面有沒有小數點
                new_i = i.split('.')  # 去掉小數點
                right = new_i[-1]  # 將小數分為小數點右邊
                left = new_i[0]  # 小數點左邊
                if right.isdigit():  # 如果小數點右邊是數字判斷小數點左邊
                    if left.isdigit():  # 如果小數點左邊沒有-直接返回
                        return 1
                    elif left.count('-') == 1 and left.startswith('-'):  # 如果小數點左邊有-
                        new_left = left.split('-')[-1]  # 判斷去掉后的還是不是數字
                        if new_left.isdigit():  # 是數字則返回True
                            return 1
            else:
                return 2  # 返回2說明是字母

    輸入例子:1.2,-1.2,.2,-2.

    def is_float(i):
        if i.count('.') == 1:#先判斷里面有沒有小數點
                new_i = i.split('.')#去掉小數點
                right = new_i[-1]#將小數分為小數點右邊
                left = new_i[0]#小數點左邊
                if right.isdigit():#如果小數點右邊是數字判斷小數點左邊
                    if left.isdigit():#如果小數點左邊沒有-直接返回
                        return True
                    elif left.count('-')== 1 and left.startswith('-'):#如果小數點左邊有-
                        new_left = left.split('-')[-1]#判斷去掉后的還是不是數字
                        if new_left.isdigit():#是數字則返回True
                            return True
        else:
            return False

    更簡單的判斷方法:

    while  True:
        num = input("請輸入一個數字:")
        try:
            n1=eval(num)
        except:
            print("輸入的不是數字程序結束")
            break
     
        if isinstance(n1,float):
            print('輸入的是小數請重新輸入:')
            continue
        else:
            print("輸入的是整數沒問題")

    感謝各位的閱讀,以上就是“python如何判斷一個數值為整數”的內容了,經過本文的學習后,相信大家對python如何判斷一個數值為整數這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    电白县| 长武县| 闸北区| 宁远县| 精河县| 安平县| 武安市| 黄龙县| 普格县| 台山市| 武清区| 饶平县| 沈阳市| 胶南市| 砀山县| 堆龙德庆县| 车险| 定安县| 马龙县| 泗阳县| 蒲江县| 岢岚县| 长兴县| 广水市| 邵阳市| 和平县| 平江县| 胶州市| 交口县| 洛扎县| 安陆市| 南皮县| 泸州市| 禄劝| 璧山县| 尚志市| 汉源县| 新田县| 聂拉木县| 阜宁县| 常宁市|