16.Python input()函數:獲取用戶輸入的字符串


input() 函數用於向用戶生成一條提示,然后獲取用戶輸入的內容。由於 input() 函數總會將用戶輸入的內容放入字符串中,因此用戶可以輸入任何內容,input() 函數總是返回一個字符串。

例如如下程序:

  1. msg = input("請輸入你的值:")
  2. print (type(msg))
  3. print(msg)

第一次運行該程序,我們輸入一個整數,運行過程如下:

請輸入你的值:2
<class 'str'>
2

第二次運行該程序,我們輸入一個浮點數,運行過程如下:

請輸入你的值: 1.2
<class 'str'>
1.2

第三次運行該程序,我們輸入一個字符串,運行過程如下:

請輸入你的值:Hello
<class 'str'>
Hello

從上面的運行過程可以看出,無論輸入哪種內容,始終可以看到 input() 函數返回字符串,程序總會將用戶輸入的內容轉換成字符串。

需要指出的是,Python 2.x 提供了一個 raw_input() 函數,該 raw_input() 函數就相當於 Python 3.x 中的 input() 函數。

而 Python 2.x 也提供了一個 input() 函數,該 input() 函數則比較怪異:要求用戶輸入的必須是符合 Python 語法的表達式。通常來說,用戶只能輸入整數、浮點數、復數、字符串等。重點是格式必須正確,比如輸入字符串時必須使用雙引號,否則 Python 就會報錯。

使用 Python 2.x 來運行上面程序,假如輸入一個整數,運行過程如下:

請輸入你的值:2
<class 'int'>
2

使用 Python 2.x 來運行上面程序,假如輸入一個復數,運行過程如下:

請輸入你的值: 2+3j
<type 'complex'>
(2+3j)

使用 Python 2.x 來運行上面程序,假如輸入一個字符串,運行過程如下:

請輸入你的值:Hello
NameError : name 'Hello' is not defined

上面程序報錯的原因是:Python 2.x 的 input() 函數要求用戶輸入字符串時必須用引號把字符串括起來。

在 Python 2.x 中應該盡量使用 raw_input() 函數來獲取用戶輸入,因為 Python 2.x 中的 raw_input() 等同於 Python 3.x 中的 input()。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM