【python基礎】input函式的基礎使用以及進階

红楼梦未醒發表於2024-06-10

一、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))

相關文章