Python中input返回的類型
_x000D_在Python中,input()函數(shù)用于從控制臺(tái)獲取用戶輸入的數(shù)據(jù),并將其返回為字符串類型。input()函數(shù)是一個(gè)內(nèi)置函數(shù),其語法如下:
_x000D_ _x000D_input([prompt])
_x000D_ _x000D_其中,可選的參數(shù)prompt是一個(gè)字符串,用于向用戶顯示提示信息,告訴用戶需要輸入什么樣的數(shù)據(jù)。
_x000D_除了返回字符串類型之外,input()函數(shù)還可以返回其他類型的數(shù)據(jù),例如整數(shù)、浮點(diǎn)數(shù)和布爾值等。接下來,讓我們一起來了解一下Python中input返回的類型。
_x000D_返回字符串類型
_x000D_當(dāng)我們使用input()函數(shù)獲取用戶輸入時(shí),它默認(rèn)返回的是一個(gè)字符串類型。例如,下面的代碼會(huì)提示用戶輸入一個(gè)字符串,并將其存儲(chǔ)在變量name中:
_x000D_ _x000D_name = input("請(qǐng)輸入你的名字:")
_x000D_ _x000D_如果用戶輸入的是“Tom”,那么變量name的值就是一個(gè)字符串類型的“Tom”。
_x000D_返回整數(shù)類型
_x000D_有時(shí)候,我們需要從用戶那里獲取一個(gè)整數(shù)類型的數(shù)據(jù),而不是一個(gè)字符串類型的數(shù)據(jù)。在這種情況下,我們可以使用int()函數(shù)將字符串類型轉(zhuǎn)換為整數(shù)類型。例如,下面的代碼會(huì)提示用戶輸入一個(gè)整數(shù),并將其存儲(chǔ)在變量age中:
_x000D_ _x000D_age = int(input("請(qǐng)輸入你的年齡:"))
_x000D_ _x000D_如果用戶輸入的是“18”,那么變量age的值就是一個(gè)整數(shù)類型的18。
_x000D_需要注意的是,如果用戶輸入的不是一個(gè)整數(shù)類型的數(shù)據(jù),那么程序就會(huì)拋出一個(gè)ValueError異常。在使用int()函數(shù)將字符串類型轉(zhuǎn)換為整數(shù)類型時(shí),一定要確保用戶輸入的是一個(gè)合法的整數(shù)。
_x000D_返回浮點(diǎn)數(shù)類型
_x000D_類似于整數(shù)類型,我們也可以使用float()函數(shù)將字符串類型轉(zhuǎn)換為浮點(diǎn)數(shù)類型。例如,下面的代碼會(huì)提示用戶輸入一個(gè)浮點(diǎn)數(shù),并將其存儲(chǔ)在變量salary中:
_x000D_ _x000D_salary = float(input("請(qǐng)輸入你的工資:"))
_x000D_ _x000D_如果用戶輸入的是“5000.0”,那么變量salary的值就是一個(gè)浮點(diǎn)數(shù)類型的5000.0。
_x000D_需要注意的是,如果用戶輸入的不是一個(gè)合法的浮點(diǎn)數(shù),那么程序就會(huì)拋出一個(gè)ValueError異常。在使用float()函數(shù)將字符串類型轉(zhuǎn)換為浮點(diǎn)數(shù)類型時(shí),一定要確保用戶輸入的是一個(gè)合法的浮點(diǎn)數(shù)。
_x000D_返回布爾值類型
_x000D_除了字符串類型、整數(shù)類型和浮點(diǎn)數(shù)類型之外,input()函數(shù)還可以返回布爾值類型。布爾值類型只有兩個(gè)取值,即True和False。在Python中,我們可以使用bool()函數(shù)將其他類型的數(shù)據(jù)轉(zhuǎn)換為布爾值類型。例如,下面的代碼會(huì)提示用戶回答一個(gè)問題,并將其存儲(chǔ)在變量answer中:
_x000D_ _x000D_answer = bool(input("你喜歡Python嗎?(回答是或否)"))
_x000D_ _x000D_如果用戶輸入的是“是”,那么變量answer的值就是一個(gè)布爾值類型的True。如果用戶輸入的是“否”,那么變量answer的值就是一個(gè)布爾值類型的False。
_x000D_需要注意的是,當(dāng)我們使用bool()函數(shù)將字符串類型轉(zhuǎn)換為布爾值類型時(shí),只有當(dāng)字符串的值為“True”、“true”、“Yes”、“yes”、“1”時(shí),才會(huì)返回True。其他情況下,都會(huì)返回False。
_x000D_問答擴(kuò)展
_x000D_1. 如何判斷用戶輸入的是一個(gè)合法的整數(shù)?
_x000D_當(dāng)我們使用int()函數(shù)將字符串類型轉(zhuǎn)換為整數(shù)類型時(shí),如果用戶輸入的不是一個(gè)合法的整數(shù),那么程序就會(huì)拋出一個(gè)ValueError異常。我們可以使用try-except語句來捕獲這個(gè)異常,從而判斷用戶輸入的是否是一個(gè)合法的整數(shù)。例如,下面的代碼會(huì)提示用戶輸入一個(gè)整數(shù),并判斷其是否合法:
_x000D_ _x000D_while True:
_x000D_try:
_x000D_age = int(input("請(qǐng)輸入你的年齡:"))
_x000D_break
_x000D_except ValueError:
_x000D_print("請(qǐng)輸入一個(gè)合法的整數(shù)!")
_x000D_ _x000D_在上面的代碼中,我們使用了一個(gè)while循環(huán)來不斷提示用戶輸入,直到用戶輸入一個(gè)合法的整數(shù)為止。如果用戶輸入的不是一個(gè)合法的整數(shù),那么就會(huì)拋出一個(gè)ValueError異常,并輸出一條提示信息。
_x000D_2. 如何判斷用戶輸入的是一個(gè)合法的浮點(diǎn)數(shù)?
_x000D_當(dāng)我們使用float()函數(shù)將字符串類型轉(zhuǎn)換為浮點(diǎn)數(shù)類型時(shí),如果用戶輸入的不是一個(gè)合法的浮點(diǎn)數(shù),那么程序就會(huì)拋出一個(gè)ValueError異常。我們可以使用try-except語句來捕獲這個(gè)異常,從而判斷用戶輸入的是否是一個(gè)合法的浮點(diǎn)數(shù)。例如,下面的代碼會(huì)提示用戶輸入一個(gè)浮點(diǎn)數(shù),并判斷其是否合法:
_x000D_ _x000D_while True:
_x000D_try:
_x000D_salary = float(input("請(qǐng)輸入你的工資:"))
_x000D_break
_x000D_except ValueError:
_x000D_print("請(qǐng)輸入一個(gè)合法的浮點(diǎn)數(shù)!")
_x000D_ _x000D_在上面的代碼中,我們使用了一個(gè)while循環(huán)來不斷提示用戶輸入,直到用戶輸入一個(gè)合法的浮點(diǎn)數(shù)為止。如果用戶輸入的不是一個(gè)合法的浮點(diǎn)數(shù),那么就會(huì)拋出一個(gè)ValueError異常,并輸出一條提示信息。
_x000D_3. 如何判斷用戶輸入的是一個(gè)合法的布爾值?
_x000D_當(dāng)我們使用bool()函數(shù)將字符串類型轉(zhuǎn)換為布爾值類型時(shí),只有當(dāng)字符串的值為“True”、“true”、“Yes”、“yes”、“1”時(shí),才會(huì)返回True。其他情況下,都會(huì)返回False。我們可以使用一個(gè)if語句來判斷用戶輸入的是否是一個(gè)合法的布爾值。例如,下面的代碼會(huì)提示用戶回答一個(gè)問題,并判斷其是否合法:
_x000D_ _x000D_answer = input("你喜歡Python嗎?(回答是或否)")
_x000D_if answer.lower() in ["是", "yes", "1"]:
_x000D_print("你真是一個(gè)Python愛好者!")
_x000D_elif answer.lower() in ["否", "no", "0"]:
_x000D_print("你需要更多的了解Python!")
_x000D_else:
_x000D_print("請(qǐng)輸入一個(gè)合法的布爾值!")
_x000D_ _x000D_在上面的代碼中,我們使用了一個(gè)if語句來判斷用戶輸入的是否是一個(gè)合法的布爾值。如果用戶輸入的是“是”、“yes”或“1”,那么就輸出一條贊美的話語;如果用戶輸入的是“否”、“no”或“0”,那么就輸出一條鼓勵(lì)的話語;如果用戶輸入的既不是“是”、“yes”、“否”、“no”、“1”也不是“0”,那么就輸出一條提示信息。
_x000D_