python如何判断用户输入回车键? |
您所在的位置:网站首页 › 回车键怎么没用了 › python如何判断用户输入回车键? |
前言
最近在写代码的时候,需要判断一下用户是不是敲了回车键,于是写出了这样的代码: if input('输入回车键进入程序') == '\n': print('开始程序。')当时的目的是为了用户不输入任何内容,只敲回车键,无奈,print('开始程序。')永远也无法执行…… 正确的代码应该是: if input('输入回车键进入程序') == '': print('开始程序。')把== '\n'换成 == ''即可。 当敲下回车键时,表示输入结束了,而在input()函数中,默认是把回车键删除,所以最后输入的内容只剩下空的字符串。 既然都说到这了,那就一起看看 input() 的前世今生吧 input() 函数的前世今生 前世在python2.x中,有分raw_input() 和input()两个标准输入函数 儿python3.x中,只保留了input() 一个标准输入函数 简单说区别就是,在python2.x中,raw_input()输入的内容不管是数字还是其他字符都会转化为字符串,而input()只能输入纯数字 在python3.x中,input()可以输入数字和其他字符,但都会转化为字符串,相当于python2.x中的raw_input() 如果想要详细了解的话,可以看这篇文章,写得很详细啦: https://blog.csdn.net/u011475210/article/details/77777482 今生好了,就不聊那么多过去了,看看现在input()还有什么好玩的玩法。 玩法1让input()遇到回车键也能持续输入 我们无法修改input()函数让它忽略掉回车键,但是我们可这样“忽悠”它: txt = '' while True: k = input() if k == 'quit': break txt += k + '\n' print('*****以下是输出内容*****') print('txt:\n'+txt)请看效果: 这样我们就可以让input()好像忽略掉了回车键,可以持续输入内容,输入quit之后敲回车才结束 还有更简单的写法,看起来更高级: txt = '' for k in iter(input, 'quit'): txt += k+'\n' print('*****以下是输出内容*****') print(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 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |