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为转载,原文链接:
Python中input()函数用法的更多相关文章
- 【313】python 中 print 函数用法总结
参考:python 中 print 函数用法总结 参考:Python print() 函数(菜鸟教程) 参考:Python 3 print 函数用法总结 目录: 字符串和数值类型 变量 格式化输出 p ...
- python 中 print 函数用法总结
Python 思想: “一切都是对象!” 在 Python 3 中接触的第一个很大的差异就是缩进是作为语法的一部分,这和C++等其他语言确实很不一样,所以要小心 ,其中python3和python2中 ...
- python中input()函数与print()函数
一.input()函数详解 二.print()函数详解 三.类型转换
- Python中zip()函数用法
定义:zip([iterable, …])zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的l ...
- Python中enumerate函数用法详解
enumerate函数用于遍历序列中的元素以及它们的下标,多用于在for循环中得到计数,enumerate参数为可遍历的变量,如 字符串,列表等 一般情况下对一个列表或数组既要遍历索引又要遍历元素时, ...
- Python 中filter函数用法
filter()和map一样,接收一个函数和一个序列.和map不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素 过滤出奇数: de ...
- python中join函数用法
str.join(list/tuple/dict/string) str = "-"; seq = ("a", "b", "c&q ...
- Python中int()函数的用法浅析
int()是Python的一个内部函数 Python系统帮助里面是这么说的 >>> help(int) Help on class int in module __builti ...
- Python中split()函数的用法及实际使用示例
Python中split()函数,通常用于将字符串切片并转换为列表. 一.函数说明: split():语法:str.split(str="",num=string.count(st ...
随机推荐
- ACM、OI、OJ题目常用代码模板
仓库源码地址:https://github.com/richenyunqi/code-templates 本仓库主要提供 ACM.OI.OJ.PAT.CSP 题目中常见算法和数据结构的实现,它们都以基 ...
- yoyogo v1.7.4 发布,支持 grpc v1.3.8 & etcd 3.5.0
YoyoGo (Go语言框架)一个简单.轻量.快速.基于依赖注入的微服务框架( web .grpc ),支持Nacos/Consoul/Etcd/Eureka/k8s /Apollo等 . https ...
- 在docker的镜像中安装vim
在使用docker容器时,有时候里边没有安装vim,敲vim命令时提示说:vim: command not found,这个时候就需要安装vim,可是当你敲apt-get install vim命令时 ...
- IntelliJ idea -- 在WEB-INF下创建两个文件夹:classes 和 lib
1.首先在WEB-INF下面创建两个文件夹 classes 和 lib 2.文件 --> 项目结构 3.选择路径 4.选择依赖项 5.选择刚创建好的lib文件夹,然后确定 6.选择 Jar D ...
- sshpass用法介绍
参考文章:http://www.mamicode.com/info-detail-1105345.html https://www.jianshu.com/p/a2aaa02f57dd p.p1 { ...
- 被swoole坑哭的PHP程序员 (转)
本文主要记录一下学习swoole的过程.填过的坑以及swoole究竟有多么强大! 首先说一下对swoole的理解:披着PHP外衣的C程序.很多PHPer朋友看到swoole提供的强大功能.外界对其的崇 ...
- mysql中,一个数字加上null,结果为null
在mysql中,一个数字加上null,结果为null. 这个问题是我用update语句时遇见的,就像下边的例子 update tableName set number = number + x 这里的 ...
- XCTF reverse maze
一.查壳 二.拖入ida64,静态调试,找到主函数F5反编译 二.1 思路分析(逆向是真的费时间,每个函数都要分析过去): 1.发现每个if最终都会进入LABEL-15 点进去,看看这个函数是干啥的. ...
- Kotlin Coroutine(协程): 一、样例
@ 目录 前言 一.直接上例子 1.延时任务. 2.异步任务 3.并行任务: 4.定时任务: 总结 前言 你还在用 Hanlder + Message? 或者 AsyncTask? 你还在用 Rxja ...
- ADC采集电流相关知识
1.AD电流采样电路,是把电路中的电流用采样元件转换为电压信号,然后用ADC量化转换为相应的数字信号.需要你在被采集端串联一个采样电阻,然后采集采样电阻两端的电压,这样就可以把电流输出变换为电压输出. ...