一、input函式的基本使用
Python3.x 中 input() 函式接受一個標準輸入資料,返回為 string 型別,具體格式如下:
input([prompt])
其中prompt表徵提示資訊
示例:
# -*- coding: utf-8 -*-
user = input('請輸入您的姓名:')
print('您的姓名是:'+user)`
執行情況如下:
請輸入您的姓名:張三
您的姓名是:張三
>>>
特別需要注意:input函式返回的資料型別是string,因此實際使用中要注意資料型別的轉換
比如,我們寫一個程式實現兩個整數相加
# -*- coding: utf-8 -*-
a = input('請輸入整數a:')
b = input('請輸入整數b:')
print(a+b)
我們執行這個程式,結果如下,發現並沒有計算a和b的和,而是實現了a和b的拼接,原因就是返回的a和b都是string的型別,兩個string相加實現的就是兩個字串的拼接
請輸入整數a:12
請輸入整數b:34
1234
>>>
我們將上述程式碼修改一下,將input獲取到的輸入值轉化為int型別即可:
# -*- coding: utf-8 -*-
a = int(input('請輸入整數a:'))
b = int(input('請輸入整數b:'))
print(a+b)
執行情況如下:
請輸入整數a:12
請輸入整數b:34
46
>>>
二、input函式的進階使用
split()函式是字串型別 (str) 的一個方法,它接受一個字串作為分隔符,用於將原字串分割成若干個子字串,並返回一個包含分割結果的列表。
split()函式的引數可以是任意分隔符號組成的字串,比如空格,逗號,數字,字串等等。我們可以將input函式結合split函式實現單輸入多輸出。具體如下例所示
# -*- coding: utf-8 -*-
nums = input('請輸入一串數字,數字間使用空格間隔:').split(" ")
print(nums)
nums =[int(nums[i]) for i in range(len(nums))]
print(nums)
執行後的情況如下:
請輸入一串數字,數字間使用空格間隔:1 3 8 6
['1', '3', '8', '6']
[1, 3, 8, 6]
>>>
上例中,第一個print輸出的是內容為string格式的列表,第二個print輸出的是int的列表
注意:上述程式碼也可以按照下面這種方式實現:
# -*- coding: utf-8 -*-
a, b, c, d = input('請輸入四個數字,數字間使用空格間隔:').split(" ")
print([a, b, c, d])
print([int(a), int(b), int(c), int(d)])
除此之外,我們還能使用map函式將list裡面的值對映到指定型別,使得程式碼更加簡潔:
# -*- coding: utf-8 -*-
nums = map(int, input('請輸入一串數字,數字間使用空格間隔:').split(" "))
print(list(nums))