input()函数获取用户输入数据,实现用户交互
语法格式: 变量 = input("提示信息")
input()返回的是字符串,无论输入的是数字还是字符串,默认的输入结束键是回车键
input()函数有一些特殊的用法
用法1:通过if判断或iter()函数的哨兵值用法让input()遇到回车键也能持续输入
txt = '' while True: k = input() if k == 'quit': break txt += k + '\n' print('*****以下是输出内容*****') print('txt:\n'+txt)
效果如下:
这样我们就可以让input()好像忽略掉了回车键,可以持续输入内容,输入quit之后敲回车才结束
也可以使用iter()函数的哨兵值用法
end_str = "end" # 重新定义结束符 txt = "" for line in iter(input, end_str): # 接收输入,使用了iter的哨兵值用法 txt += line + "\n" # 拼接输入内容并追加换行 print('*****以下是输出内容*****') print('txt:\n' + txt)
用法2:限制用户的输入内容,比如只能输入字母
方式1:在输出结果上进行过滤,可以用正则表达式实现
import re while True: txt = input() txt = re.sub('[^a-zA-Z]', '', txt) print(txt)
效果如下:
方式2:在键盘上输入上进行限制,使用pynput第三方库可以对用户的键盘进行监听和操作
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)
效果如下:
这样的话就只能输入字母了,输入别的内容都会被删掉。
!!!不过实测监控输入不够灵敏,偶发不能识别,不知道是不是电脑太卡的原因
以上用法1、2为转载,原文链接:
https://blog.csdn.net/FujLiny/article/details/109554623
到此这篇关于Python input()函数用法大全的文章就介绍到这了,更多相关Python input()函数内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://www.cnblogs.com/programmer4027/archive/2021/04/22/14687119.html