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 ...
随机推荐
- el-upload上传列表实现 展开 收起
# el-upload上传列表实现 展开 收起 #### 无图言*,所以先上最终效果图(想参考代码的可以直接滑到最后) ### 具体实现思路 注意: 每个人的项目环境以及需求,都不尽相同,所以这里仅仅 ...
- Kali下切换JDK版本
Kali下自由更换JDK版本 今天在学习了一下CobaltStrike之后,打算在Kali上本地搭建一个服务器端, 查看了一下Kali的JDK配置发现版本是13.X的,然而CobaltStrike最好 ...
- Kubernetes使用节点亲缘性将POD调度到特定节点上
节点污点可以用来让pod远离特定的节点,尽量在不修改已有pod信息的前提,通过在节点添加污点信息,来拒绝pod在某些节点上的部署. 而现在介绍一种叫做节点亲缘性,通过明确的在pod中添加的信息,来决定 ...
- python之循环与判断
1,for 循环,语法 举例: for i in range(1, 5, 2): # 0,1,2,3,4 print(i) for a in range(5):# --(0,5,1) 0,1,2,3, ...
- 使用 redis 减少 秒杀库存 超卖思路 (转)
由于数据库查询的及插入的操作 耗费的实际时间要耗费比redis 要多, 导致 多人查询时库存有,但是实际插入数据库时却超卖 redis 会有效的减少相关的延时,对于并发量相对较少的 可以一用 1 ...
- 视图:DBA_TAB_PARTITIONS 分区表视图
Column Datatype 释义 Description TABLE_OWNER VARCHAR2(128) 表的owner Owner of the table TABLE_NAME VARCH ...
- FreeRTOS-00-基础知识+任务创建删除
1 说明 本文仅作为学习FreeRTOS的记录文档,作为初学者肯定很多理解不对甚至错误的地方,望网友指正. 1.1 简介 FreeRTOS是一个RTOS(实时操作系统)系统,支持抢占式.合作式和时间片 ...
- 锐捷RG-S2951G-EV3 ACL 禁止端口
(config)ip access-list extended 199 (config)10 deny tcp any any eq 2425 (config)20 deny udp any any ...
- 一行代码打印python之禅
就这一句: import this 输出: The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is be ...
- [刘阳Java]_Spring AOP入门_第7讲
AOP技术个人认为是能够完善(改善)面向对象编程OOP.为什么这么说,我们得先从AOP的概念说起,然后通过一段简单的例子加以佐证.这样子大家就可以慢慢地了解AOP 1. AOP概念 AOP为Aspec ...