日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網(wǎng)站首頁 編程語言 正文

Python中判斷input()輸入的數(shù)據(jù)的類型_python

作者:蕪湖起飛飛飝 ? 更新時間: 2022-12-21 編程語言

在pyhton中,經(jīng)常會用到input()語句,但是input()語句輸入的內(nèi)容只能時字符串類型,而我們經(jīng)常要輸入int類型的數(shù)據(jù)等,那么就需要用到int()方法給輸入的內(nèi)容強制轉(zhuǎn)換為int類型:

a = int(input())

但是這樣就會有一個問題,一旦我輸入的不是數(shù)字,而是字母、標點等,這樣就會報錯,因為字母燈是不能轉(zhuǎn)成int類型的,所以我們就要判斷一下,輸入的內(nèi)容為什么:

str = input()
if str.isdigit() :
	a = int(str)

這樣就可以判斷輸入的是不是數(shù)字,還是字母、符號等

方法:
str.isdigit()為True表示輸入的所有字符都是數(shù)字
str.isalnum()為True表示輸入的所有字符都是數(shù)字或者字母
str.isalpha()為True表示輸入的所有字符都是字母
str.isdigit()為True表示輸入的所有字符都是數(shù)字
str.islower()為True表示輸入的所有字符都是小寫
str.isupper()為True表示輸入的所有字符都是大寫
str.istitle()為True表示輸入的所有單詞都是首字母大寫,像標題
str.isspace()為True表示輸入的所有字符都是空白字符、\t、\n、\r

更新一下:
注意,用isdigit()來判斷小數(shù),比如3.14就會返回FALSE。
isdigit()只是判斷輸入的是不是純數(shù)字,不是判斷你輸入的是不是一個數(shù),這個方法只是判斷你輸入的是什么字符,并不是判斷你輸入的是什么類型,因為無論如何,輸入的值都為字符串類型,小數(shù)中有小數(shù)點,當然會返回FALSE了。
如何判斷輸入是不是小數(shù),首先判斷輸入有沒有小數(shù)點,幾個小數(shù)點,小數(shù)點的位置、再按照小數(shù)點進行切片,切為兩片,判斷每一片是否都為純數(shù)字

下面是一個類型轉(zhuǎn)換的方法,將輸入的字符串轉(zhuǎn)換為int或float類型的數(shù)據(jù):

# 將字符串轉(zhuǎn)為int或float類型
def change_type(str):
    # 先判斷輸入是不是字符串類型,是的話就繼續(xù),不是的話就將輸入返回
    if type(str) == type("123"):
        # 判斷輸入是不是純數(shù)字
        if str.isdigit() :
            # 將輸入轉(zhuǎn)為int類型并返回
            result = int(str)
            print(result,"是整數(shù) 類型是",type(result))
            return result
        else :
            # 判斷字符串中是否只有一個小數(shù)點、小數(shù)點是不是不在字符串的開始或結(jié)尾
            if str.count(".")==1 and not str.startswith(".") and not str.endswith("."):
                # 將字符串按小數(shù)點切為兩片,整數(shù)部分與小數(shù)部分
                # 整數(shù)部分
                left = str.split('.')[0]
                # 小數(shù)部分
                right = str.split('.')[1]
                # 判斷切片的部分是不是純數(shù)字
                if left.isdigit() & right.isdigit():
                    # 將輸入轉(zhuǎn)為float類型并返回
                    result = float(str)
                    print(result,"是小數(shù) 類型是",type(result))
                    return result
    else:
        # 返回字符串
        print("輸入的變量不是字符串類型")
        result = str
        return result

原文鏈接:https://blog.csdn.net/m0_55034727/article/details/121563466

欄目分類
最近更新