
之前做測試筆試的時候有很長一段時間不清楚怎么從鍵盤獲取多個值的輸入終于一時興起將各種情況下獲取輸入數(shù)值的方法進行了歸納希望對剛好看到的您有幫助。一、輸入為一個值需要注意input()返回的是字符串類型因此讀取數(shù)字時需要進行類型轉(zhuǎn)換b int(input(請輸入b:)) print(type(b),b)運行結(jié)果請輸入b:2class int 2二、 輸入為2、3個這類比較少的可以一個個接收的數(shù)值接收后為字符串類型input()結(jié)合str.split()方法需要注意str.split()方法返回的是列表類型m, n input(請輸入m和n:).split( ) print(m和n的值分別為{0},{1},它們是字符串類型.format(m,n))運行結(jié)果這里相當于字符串1 2經(jīng)過split()方法用 空格分割后返回的是列表[‘1’, ‘2’]。其中m1、n2請輸入m和n:1 2m和n的值分別為1,2,它們是字符串類型三、 輸入為2、3個這類比較少的可以一個個接收的數(shù)值接收后為整數(shù)類型方法1利用map(fun,seq)函數(shù)。下面的int可以用其他類型如float替代m, n map(int, input(請輸入m和n:).split( )) print(m和n的值分別為{0},{1},它們是int整數(shù)類型.format(m,n))運行結(jié)果請輸入m和n:1 2m和n的值分別為1,2,它們是int整數(shù)類型方法2直接利用列表推導式。下面的int可以用其他類型如float替代m, n [int(x) for x in input(請輸入m和n:).split( )] print(m和n的值分別為{0},{1},它們是int整數(shù)類型.format(m,n))運行結(jié)果請輸入m和n:1 2m和n的值分別為1,2,它們是int整數(shù)類型四、一行n個值的輸入個數(shù)未知方法1 結(jié)果為str類型list input(請輸入).split() print(type(list), list) #class list [1, 2, 3] for i in list: print(type(i), i)運行結(jié)果請輸入1 2 3class list [1, 2, 3]class str 1class str 2class str 3如果需要的輸入為其他形式應當在遍歷的同時進行類型轉(zhuǎn)換 。方法2結(jié)果為int類型a list(map(int,input(請輸入).split())) print(type(a), a) for i in a: print(type(i), i)運行結(jié)果請輸入1 2 3class list [1, 2, 3]class int 1class int 2class int 3五、已知行數(shù)的多行輸入1需要的輸入為字符串形式text lines int(input(輸入行數(shù))) for i in range(lines): text input() print(text) #接收的輸入為字符串形式運行結(jié)果輸入行數(shù)21234561234562 如果需要的輸入為列表形式則可以在這個字符串基礎上將這個沒有逗號或空格的字符拆分a list(text) print(a) #接收的輸入為列表形式此時結(jié)果為[1, 2, 3, 4, 5, 6]3如果需要的輸入為數(shù)字形式則可以繼續(xù)將這個列表轉(zhuǎn)換為數(shù)字將列表中的元素轉(zhuǎn)換成數(shù)字的幾種方法方法1使用join的方法a [1, 2, 3] b .join(a) print(b)輸出1 2 3方法2使用列表生成式進行轉(zhuǎn)換a [1, 2, 3] b [int(x) for x in a] #此時b的結(jié)果為[1, 2, 3] for i in b: print(i,end )輸出1 2 3