input()函數(shù)獲取用戶輸入數(shù)據(jù),實現(xiàn)用戶交互
語法格式: 變量 = input("提示信息")
input()返回的是字符串,無論輸入的是數(shù)字還是字符串,默認的輸入結束鍵是回車鍵
input()函數(shù)有一些特殊的用法
用法1:通過if判斷或iter()函數(shù)的哨兵值用法讓input()遇到回車鍵也能持續(xù)輸入
txt = ''
while True:
k = input()
if k == 'quit':
break
txt += k + '\n'
print('*****以下是輸出內容*****')
print('txt:\n'+txt)
效果如下:
這樣我們就可以讓input()好像忽略掉了回車鍵,可以持續(xù)輸入內容,輸入quit之后敲回車才結束
也可以使用iter()函數(shù)的哨兵值用法
end_str = "end" # 重新定義結束符
txt = ""
for line in iter(input, end_str): # 接收輸入,使用了iter的哨兵值用法
txt += line + "\n" # 拼接輸入內容并追加換行
print('*****以下是輸出內容*****')
print('txt:\n' + txt)
用法2:限制用戶的輸入內容,比如只能輸入字母
方式1:在輸出結果上進行過濾,可以用正則表達式實現(xiàn)
import re
while True:
txt = input()
txt = re.sub('[^a-zA-Z]', '', txt)
print(txt)
效果如下:
方式2:在鍵盤上輸入上進行限制,使用pynput第三方庫可以對用戶的鍵盤進行監(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是退格符,相當于鍵盤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)
效果如下:
這樣的話就只能輸入字母了,輸入別的內容都會被刪掉。
?。?!不過實測監(jiān)控輸入不夠靈敏,偶發(fā)不能識別,不知道是不是電腦太卡的原因
以上用法1、2為轉載,原文鏈接:
https://blog.csdn.net/FujLiny/article/details/109554623
到此這篇關于Python input()函數(shù)用法大全的文章就介紹到這了,更多相關Python input()函數(shù)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- python中的內置函數(shù)max()和min()及mas()函數(shù)的高級用法
- python print()函數(shù)的end參數(shù)和sep參數(shù)的用法說明
- python處理emoji表情(兩個函數(shù)解決兩者之間的聯(lián)系)
- 解決python2中unicode()函數(shù)在python3中報錯的問題
- python繪圖subplots函數(shù)使用模板的示例代碼
- python-opencv中的cv2.inRange函數(shù)用法說明
- python Pool常用函數(shù)用法總結
- python 如何用map()函數(shù)創(chuàng)建多線程任務
- Python函數(shù)參數(shù)中的*與**運算符
- 詳解python函數(shù)傳參傳遞dict/list/set等類型的問題
- Python3去除頭尾指定字符的函數(shù)strip()、lstrip()、rstrip()用法詳解
- Python進階之高級用法詳細總結