input()函數(shù)獲取用戶輸入數(shù)據(jù),實現(xiàn)用戶交互
語法格式: 變量 = input("提示信息")
input()返回的是字符串,無論輸入的是數(shù)字還是字符串,默認(rèn)的輸入結(jié)束鍵是回車鍵
input()函數(shù)有一些特殊的用法
用法1:通過if判斷或iter()函數(shù)的哨兵值用法讓input()遇到回車鍵也能持續(xù)輸入
txt = '' while True: k = input() if k == 'quit': break txt += k + '\n' print('*****以下是輸出內(nèi)容*****') print('txt:\n'+txt)
效果如下:
這樣我們就可以讓input()好像忽略掉了回車鍵,可以持續(xù)輸入內(nèi)容,輸入quit之后敲回車才結(jié)束
也可以使用iter()函數(shù)的哨兵值用法
end_str = "end" # 重新定義結(jié)束符 txt = "" for line in iter(input, end_str): # 接收輸入,使用了iter的哨兵值用法 txt += line + "\n" # 拼接輸入內(nèi)容并追加換行 print('*****以下是輸出內(nèi)容*****') print('txt:\n' + txt)
用法2:限制用戶的輸入內(nèi)容,比如只能輸入字母
方式1:在輸出結(jié)果上進(jìn)行過濾,可以用正則表達(dá)式實現(xiàn)
import re while True: txt = input() txt = re.sub('[^a-zA-Z]', '', txt) print(txt)
效果如下:
方式2:在鍵盤上輸入上進(jìn)行限制,使用pynput第三方庫可以對用戶的鍵盤進(jìn)行監(jiān)聽和操作
from pynput.keyboard import Listener import threading def listening(): def on_press(key): try: if not (65 = key.vk = 90): # 65~90是鍵盤a~z的編碼值 print('\b', end='') # \b是退格符,相當(dāng)于鍵盤Backspace except AttributeError: pass with Listener(on_press=on_press) as listener: listener.join() threading.Thread(target=listening).start() while True: txt = input() print(txt)
效果如下:
這樣的話就只能輸入字母了,輸入別的內(nèi)容都會被刪掉。
?。。〔贿^實測監(jiān)控輸入不夠靈敏,偶發(fā)不能識別,不知道是不是電腦太卡的原因
以上用法1、2為轉(zhuǎn)載,原文鏈接:
https://blog.csdn.net/FujLiny/article/details/109554623
到此這篇關(guān)于Python input()函數(shù)用法大全的文章就介紹到這了,更多相關(guān)Python input()函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
標(biāo)簽:克拉瑪依 金華 赤峰 貴州 雙鴨山 臨汾 日照 陽泉
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python input()函數(shù)用法大全》,本文關(guān)鍵詞 Python,input,函數(shù),用法,大全,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。