在C語言中,輸入多個值是非常方便的,因為C語言中有一個特別方便的資料型別,叫做陣列,陣列可以提前定義好它的大小,在對一個陣列輸入多個值的時候,我們可以邊輸入,邊用空格。可以在一行當中將多個值輸入到陣列中。但是在py語言中,沒有陣列這個結構,但是它也可以進行一行輸入多個值。比如(假設對三個值進行輸入可以這樣表示:a,b,c=map(int,input().split())),這種操作實作了在一行中對ABC這三個變數的值的輸入,僅僅可以用空格隔開,就可以輸入。但是如果你要對十個或者20個或者100個的值進行一行輸入,你不可能去定義20個或100個變數用map方法進行輸入, 這樣是十分耗費時間的,而且效率低下,浪費資源。這時候我們會想到如何用C語言中的陣列型別去類比py語言中的串列型別,對多個變數用一行隔開的多個數值輸入。我們可以這樣構造一個函式,不說了,上代碼。
def hao(a) : #a是int型別,類比于c語言陣列的 int arr[a]
list0=[] #定義一個空串列
for i in range(a) :
list0. append(0) #將串列變為有a個全為零的元素
長度類似于C語言中陣列的長度
str0=input() #輸入用空格隔開的a個元素,我們可以得到一行字串
list1=str0. split(' ') #將上面那行字串以空格拆分,成為有a個元素的串列,此時串列中的元素還是字串型別。
for i in range (a) :
list0[i]=int(list1[i]) #將串列中的字串元素轉換為整型元素,將對應的元素值賦予前面的那個串列。
return list0
最后我們將這個串列回傳,這個串列就是我們得到的結果。這個串列里面有a個值
uj5u.com熱心網友回復:
str1=input("輸入一組數字")
liststr=str1.split(" ")
print(liststr)
uj5u.com熱心網友回復:
學PYTHON,流程控制方面可以參考C語言的思路,但實作方式不能照搬!轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/80801.html
上一篇:keyerror
