細究Python鍵盤輸入

本文介紹了raw_inputinputpython2python3上的區(qū)別,以及如何利用正則表達式和input鍵盤輸入一維數(shù)組和二維數(shù)組禁舷。更多見:李飛陽 http://feiyang.li/

raw_input 和 input

python2中

raw_input_A = raw_input("raw_input: ")
type(raw_input_A)

可以看到輸出的是 str

input_A = input("Input: ") #不能輸入字母
type(raw_input_A)

可以看到輸出的是 int彪杉,并且我們發(fā)現(xiàn),input根本不能輸入字母牵咙,會直接報NameError: name 'abc' is not defined派近,提示沒有定義。

Python2報錯
Python2報錯

查看 Built-in Functions 洁桌,得知:
input([prompt]) Equivalent to eval(raw_input(prompt))

input() 本質(zhì)上還是使用 raw_input() 來實現(xiàn)的渴丸,只是調(diào)用完 raw_input() 之后再調(diào)用 eval() 函數(shù),所以另凌,你甚至可以將表達式作為 input() 的參數(shù)谱轨,并且它會計算表達式的值并返回它。
不過在 Built-in Functions 里有一句話是這樣寫的:Consider using the raw_input() function for general input from users.
除非對 input() 有特別需要吠谢,否則一般情況下我們都是推薦使用 raw_input() 來與用戶交互献汗。

python3中

因為剛才說的那個原因罢吃,input其實沒有什么必要刃麸,所以就被改進了司浪。

簡單來說,raw_input沒有了吁伺,只剩下input。現(xiàn)在這個input就是之前那個raw_input窟却。

查看 Python官方文檔input([prompt]) 呻逆,得知:

If the prompt argument is present, it is written to standard output without a trailing newline. The function then reads a line from input, converts it to a string (stripping a trailing newline), and returns that. When EOF is read, EOFError is raised.

簡單說茬腿,返回的內(nèi)容都是str切平,括號里邊的prompt寫什么悴品,就會當做提示內(nèi)容輸出。比如底下的那個 -->

>>> s = input('--> ')  
--> Monty Python's Flying Circus
>>> s  
"Monty Python's Flying Circus"

因為我一般都是用python3邦蜜,接下來的內(nèi)容都是以3為準亥至。


Python輸入數(shù)組

一維數(shù)組

  • 使用int()進行強制類型轉(zhuǎn)型
  • 當輸入內(nèi)容不為數(shù)字時絮供,不能轉(zhuǎn)型壤靶,發(fā)生except跳出循環(huán)贮乳。
  • 先聲明data是一個list亚茬,將input_A一個個+進去浓恳。
data = []
while True:
    try:
        input_A = int(input("Input: "))
        data +=[input_A]
    except:
        break
data
type(data)
輸入數(shù)組
輸入數(shù)組

在以上的基礎(chǔ)上颈将,我們可以用python輸入二維數(shù)組

python輸入二維數(shù)組

正則表達式會利用非數(shù)字的字符厨疙,進行切割沾凄,因此數(shù)字之間插入什么都無所謂知允。

import re
data2D = []
while True:
    userInput = input('Input:') # 輸入數(shù)組保屯,用空格隔開即可
    info = re.split(r'[\D]',userInput)#正則表達式分割
    data = []# 定義一維數(shù)組
    try:
        for number in info:
            data+=[int(number)] # 一維數(shù)組加入數(shù)字
        data2D+=[data] #一維數(shù)組加入到二維中去
    except:
        break;
data2D
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市切蟋,隨后出現(xiàn)的幾起案子柄粹,更是在濱河造成了極大的恐慌,老刑警劉巖堪夭,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件礼华,死亡現(xiàn)場離奇詭異,居然都是意外死亡雕旨,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來育韩,“玉大人筋讨,你說我怎么就攤上這事”诎溃” “怎么了嗜逻?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵恼琼,是天一觀的道長蛙卤。 經(jīng)常有香客問我颤难,道長已日,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮霉旗,結(jié)果婚禮上厌秒,老公的妹妹穿的比我還像新娘。我一直安慰自己岛马,他們只是感情好,可當我...
    茶點故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布苛让。 她就那樣靜靜地躺著狱杰,像睡著了一般瘦材。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上朗和,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天簿晓,我揣著相機與錄音憔儿,去河邊找鬼。 笑死朝刊,一個胖子當著我的面吹牛备韧,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播附较,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼事示,長吁一口氣:“原來是場噩夢啊……” “哼劝堪!你這毒婦竟也來了荐糜?” 一聲冷哼從身側(cè)響起延塑,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎答渔,沒想到半個月后关带,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡沼撕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年宋雏,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片务豺。...
    茶點故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡磨总,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出笼沥,到底是詐尸還是另有隱情蚪燕,我是刑警寧澤,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布奔浅,位于F島的核電站馆纳,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏汹桦。R本人自食惡果不足惜鲁驶,卻給世界環(huán)境...
    茶點故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望舞骆。 院中可真熱鬧钥弯,春花似錦、人聲如沸督禽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽赂蠢。三九已至绪穆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間虱岂,已是汗流浹背玖院。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留第岖,地道東北人难菌。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像蔑滓,于是被迫代替她去往敵國和親郊酒。 傳聞我的和親對象是個殘疾皇子遇绞,可洞房花燭夜當晚...
    茶點故事閱讀 43,612評論 2 350

推薦閱讀更多精彩內(nèi)容