細究Python鍵盤輸入

2021-07-28 22:40:10 字數 2104 閱讀 6929

本文介紹了raw_inputinputpython2python3上的區別,以及如何利用正規表示式和input鍵盤輸入一維陣列和二維陣列。更多見:李飛陽

raw_input_a = raw_input("raw_input: ")

type(raw_input_a)

可以看到輸出的是str

input_a = input("input: ") #不能輸入字母

type(raw_input_a)

可以看到輸出的是int,並且我們發現,input根本不能輸入字母,會直接報nameerror: name 'abc' is not defined,提示沒有定義。

python2報錯

檢視 built-in functions ,得知:

input([prompt]) equivalent to eval(raw_input(prompt))

input() 本質上還是使用 raw_input() 來實現的,只是呼叫完 raw_input() 之後再呼叫 eval() 函式,所以,你甚至可以將表示式作為 input() 的引數,並且它會計算表示式的值並返回它。

不過在 built-in functions 裡有一句話是這樣寫的:consider using the raw_input() function for general input from users.

除非對 input() 有特別需要,否則一般情況下我們都是推薦使用 raw_input() 來與使用者互動。

因為剛才說的那個原因,input其實沒有什麼必要,所以就被改進了。

簡單來說,raw_input沒有了,只剩下input。現在這個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.

簡單說,返回的內容都是str,括號裡邊的prompt寫什麼,就會當做提示內容輸出。比如底下的那個-->

>>> s = input('--> ')  

--> monty python's flying circus

>>> s

"monty python's flying circus"

因為我一般都是用python3,接下來的內容都是以3為準。

輸入陣列

在以上的基礎上,我們可以用python輸入二維陣列

正規表示式會利用非數字的字元,進行切割,因此數字之間插入什麼都無所謂。

import re

data2d =

while true:

userinput = input('input:') # 輸入陣列,用空格隔開即可

info = re.split(r'[\d]',userinput)#正規表示式分割

data = # 定義一維陣列

try:

for number in info:

data+=[int(number)] # 一維陣列加入數字

data2d+=[data] #一維陣列加入到二維中去

except:

break;

data2d

python 鍵盤輸入

python鍵盤輸入與其他程式語言基本類似,回車鍵結束輸入 下面來看一段鍵盤輸入年月日,英文輸出示例 1 usr bin env python2 coding utf 8 3 定義英文月份 4 months january february march april may june july aug...

Python模擬鍵盤輸入

2.程式實現 import win32api import win32con win32api.keybd event 17,0,0,0 ctrl鍵位碼是17 win32api.keybd event 86,0,0,0 v鍵位碼是86 win32api.keybd event 86,0,win32c...

Python讀取鍵盤輸入

python提供了兩個內建函式從標準輸入讀入一行文字,預設的標準輸入是鍵盤。如下 raw input 函式從標準輸入讀取乙個行,並返回乙個字串 去掉結尾的換行符 str raw input enter your input print received input is str 這將提示你輸入任意字...