Python3中實現一行輸入多個數字並進行賦值

2021-09-13 19:23:30 字數 1398 閱讀 8823

參考學習後給出兩個解決辦法。

首先input()函式返回的是乙個字串,如果你需要的不是數字,而是賦值字串的話,你可以這樣寫:a,b,c = input().split()

具體解釋如下

>>

> a =

input()

# input()返回的是字串

121332

>>

> a

'121332'

# 返回的是字串

# 所以要多個賦值的話,需要對字串進行分割,並返回列表,再進行賦值

# 我們採用str.split()方法進行分割,返回列表,如果不給出str.split()引數,預設是空格切割

>>

> f =

'abcdabcdabcd'

>>

> f.split(

'c')

# 以字元『c'為切割標誌,返回乙個列表

['ab'

,'dab'

,'dab'

,'d'

]# 最後就是多重賦值了,a,b,c = ['1','2','3'] 相當於 a = '1'; b = '2'; c = '3'

>>

> a,b,c =

input()

.split()1

23>>

>

print

(a,b,c)12

3

接下來解決我們的問題,要變為數字賦值,解決方案也比較簡單,就是把字串變為int。

這裡給出兩種方法:

a,b,c = map(int, input().split())

map(fun,seq)方法簡單的說就是用fun這個功能函式去依次作用於序列seq中的每個元素,然後返回乙個可迭代物件。

>>

> a,b,c =

map(

int,

input()

.split())

123>>

>

print

(a,b,c)12

3

a, b,c = [int(x) for x in input().split()]

簡單的解釋這個列表推導式就是把input().split()返回的列表中的每乙個元素通過遍歷,依次用int()函式處理。

>>

> a, b,c =

[int

(x)for x in

input()

.split()]

123>>

>

print

(a,b,c)12

3

注意以上的int,int()都可以用其他需要的資料型別替代,如float,float()等。

python3 實現一行輸入,空格隔開的示例

相信很多人都會使用 a input b input 來進行輸入操作,但是,這是以換行進行操作的,而有些題目是www.cppcns.com需要進行一行輸入,空格隔開的,這時候就需要變換輸入方式了。那麼怎麼辦呢?我們可以這樣寫 a,b map int,input s程式設計客棧plit 這樣就實現了一行...

python3 讀取txt文字最後一行

首先要理解txt文字都是實際由位元組組成的,比如對於乙個utf 8無bom編碼方式儲存的txt檔案,如果檔案內容為空,那麼該txt檔案大小為0位元組,乙個ascii字元佔乙個位元組,乙個中文字元佔3個位元組。1q 付 比如utf 8無bom編碼方式儲存的txt檔案,文字內容如上,那麼該檔案的大小則為...

python 3 跳過第一行(多行)讀入資料

查了下資料,常見兩種辦法,一是設定行號,再者是利用python自帶的itertools工具。這裡推薦一種新的方法,直接使用readline 函式就搞定。示例 1 第1行 id1 2第2行 id2 3第3行 id3 4第4行 id4 5第5行 id5 6第6行 id6 7第7行 id7 8第8行 id...