百木园-与人分享,
就是让自己快乐。

Python中input()函数用法

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

来源:https://www.cnblogs.com/programmer4027/p/14687119.html
图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » Python中input()函数用法

相关推荐

  • 暂无文章