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()函数用法的更多相关文章

  1. 【313】python 中 print 函数用法总结

    参考:python 中 print 函数用法总结 参考:Python print() 函数(菜鸟教程) 参考:Python 3 print 函数用法总结 目录: 字符串和数值类型 变量 格式化输出 p ...

  2. python 中 print 函数用法总结

    Python 思想: “一切都是对象!” 在 Python 3 中接触的第一个很大的差异就是缩进是作为语法的一部分,这和C++等其他语言确实很不一样,所以要小心 ,其中python3和python2中 ...

  3. python中input()函数与print()函数

    一.input()函数详解 二.print()函数详解 三.类型转换

  4. Python中zip()函数用法

    定义:zip([iterable, …])zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的l ...

  5. Python中enumerate函数用法详解

    enumerate函数用于遍历序列中的元素以及它们的下标,多用于在for循环中得到计数,enumerate参数为可遍历的变量,如 字符串,列表等 一般情况下对一个列表或数组既要遍历索引又要遍历元素时, ...

  6. Python 中filter函数用法

    filter()和map一样,接收一个函数和一个序列.和map不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素 过滤出奇数: de ...

  7. python中join函数用法

    str.join(list/tuple/dict/string) str = "-"; seq = ("a", "b", "c&q ...

  8. Python中int()函数的用法浅析

      int()是Python的一个内部函数 Python系统帮助里面是这么说的 >>> help(int)  Help on class int in module __builti ...

  9. Python中split()函数的用法及实际使用示例

    Python中split()函数,通常用于将字符串切片并转换为列表. 一.函数说明: split():语法:str.split(str="",num=string.count(st ...

随机推荐

  1. spring boot @Async异步注解上下文透传

    上一篇文章说到,之前使用了@Async注解,子线程无法获取到上下文信息,导致流量无法打到灰度,然后改成 线程池的方式,每次调用异步调用的时候都手动透传 上下文(硬编码)解决了问题. 后面查阅了资料,找 ...

  2. 关于XXE漏洞

    XXE漏洞 0x01.xxe是什么 介绍 XXE 之前,我先来说一下普通的 XML 注入,这个的利用面比较狭窄,如果有的话应该也是逻辑漏洞 1.1xml定义 XML用于标记电子文件使其具有结构性的标记 ...

  3. AOF重写导致的Redis进程被kill

    Redis环境描述 服务器: 阿里云16GB服务器 Redis版本: 5.0.5 持久化方式: AOF 问题描述 阿里云环境,使用docker安装的单节点redis5.x,频繁出现redis进程被操作 ...

  4. (转发)forward与(重定向)redirect的区别

    (转发)forward与(重定向)redirect的区别 forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服 ...

  5. Ubuntu创建图标

    起因 安装一些软件时,总是没有图标,导致无法固定到docky栏,所以极为不方便,所以需要自己创建图标. 操作 以创建微信图标为例 [Desktop Entry] Name=Wecaht #名字 Com ...

  6. bugKu管理员系统

    先F12看看,有啥发现的,发现一段注释... 感谢那个群友分享了怎么辨别base64编码,通常是A-Z,a-z,0-9,+,/,=.最后通常有0个到2个等号,我也成功用在线解码器,确实是base64编 ...

  7. .NET 6 Preview 6 正式发布: 关注网络开发

    微软.NET 团队的项目经理在博客上发布了.NET 6 Preview 6,  在候选发布阶段之前的倒数第二个预览版,也就是8月份还会发布一个Preview 7,9月份开始进入RC,两个候选版本将专注 ...

  8. PHPCMSV9版本代码审计学习

    学习代码审计,自己简单记录一下.如有错误望师傅斧正. PHPCMS预备知识 PHPCMS是采用MVC设计模式开发,基于模块和操作的方式进行访问,采用单一入口模式进行项目部署和访问,无论访问任何一个模块 ...

  9. Socket 编程介绍

    Socket 编程发展 Linux Socket 编程领域,为了处理大量连接请求场景,需要使用非阻塞 I/O 和复用.select.poll 和 epoll 是 Linux API 提供的 I/O 复 ...

  10. TWAIN.CPP

    include "twaincpp.h" #include <QtGlobal> #include <QDateTime> #include <QSt ...