首页 > 编程语言 >Python的PyInputPlus模块

Python的PyInputPlus模块

时间:2024-07-29 22:27:02浏览次数:14  
标签:函数 Python 用户 inputCustom 模块 PyInputPlus 输入

PyInputPlus模块

简介PyInputPlus模块的功能:

  • PyInputPlus模块是一个Python第三方模块,需要自己对它进行安装。包含与input()函数类似的、用于多种数据(如日期、数字、电子邮箱地址等)的函数。
  • 如果,用户输入了无效的内容,例如格式错误的日期或超过预期范围的数字,那么PyInputPlus模块会再次提示用户输入。
  • 提示用户次数限制和时间限制可以防止用户无限输入。

安装PyInputPlus模块

  1. 点击终端,输入以下命令:pip install pyinputplus然后回车运行,等待安装完成。
  2. 在设置的项目解析其中安转,找到pyinputplus然后,点击安装软甲包,等待安装完成即可。

⚠️注意

  • PyInputPlus模块仅支持Python3.x版本。
  • 安装完成以后,可以在交互式环境中验证是否安装成功。输入:import puinputplus然后回车,如果没有报错,说明安装成功。

PyInputPlus模块中几种不同类型的输入函数

  1. inputStr():类似于内置的input()函数,但是这个函数用来输入字符串。
  2. inputNnm(): 确保用户输入的数字,并返回 intfloat 类型。
  3. inputDate(): 确认用户输入的日期和时间。
  4. inputEmail(): 确认用户输入的事电子邮箱的地址。
  5. inputChoice(): 确认用户输入的事系统提供的选项之一。
  6. inputInt(): 确认用户输入的是整数类型。
  7. inputFloat(): 确认用户输入的是浮点数类型。
  8. inputYesNo(): 让用户输入“是”或“否”,与inputBool()函数类似。
  9. inputBool(): 确认用户输入的是布尔值(TrueFalse)。
  10. inputMenu():让用户从菜单中选择一个选项。
  11. inputPassword(): 类似于内置对的input()函数,但是这个函数在用户输入时会隐藏输入的字符,显示”*”。
  12. inputFilepath(): 确认用户输入的事文件路径和文件名,并可以选择检查是否存在具有该名称的问价。

关键字参数

指定有效范围的关键字参数

[min, max, greaterThan, lessThan, between]

  • min:设置最小值,这个值是可以取到的。
  • max:设置最大值,这个值是可以取到的。
  • greaterThan:设置最小值,这个值是不可以取到的。
  • lessThan:设置最大值,这个值是不可以取到的。
import pyinputplus as pyip

# 输入一个数字,范围在1-10之间
pyip.inputInt(prompt='Enter a number between 1 and 10:', min=3, max=7)

关键字参数blank

默认情况下,除非blank关键字参数设置为True,否则PyInputPlus模块不会接受空白输入。

决定用户输入的次数、时间限制

如果你希望某个函数在经过一定次数的尝试或一定的时间后停止要求用户输入。【limit, timeout, default

  1. 决定模块的函数何时放弃:
    • limit:设置最大尝试次数。传递一个整数,以确保PyInputPlus的函数在放弃之前蚕食接收有效输入次多少次。
    • timeout:设置最大等待时间(秒)。传递一个整数,以确定用户在多少秒内提供有效输入,然后PyInputplus模块的函数会放弃。
    • 如果用户未能提供有效的输入,分别出现两个异常RetryLimitExpect, TimeoutExpect异常
  2. 默认值【default
    • 当你使用这些关键字参数,并传入default关键字参数时,该函数会返回默认值,而不是应发异常!
import pyinputplus
reaponse = pyip.inputNum(limit=2, default = 'N/A')
print(reaponse)
import pyinputplus
reaponse = pyip.inputNum(limit=2, default = 'N/A')
print(reaponse)

有这个示例可以知道,到了规定的次数,之后用户数如的然后不是有效的时,返回的值为default关键字规定的默认值。输入有效的,则是输入的这个有效值。

使用正则表达

使用到的关键字参数:allowRegexes, blockRegexes
这连个关键字参数,利用正则表达式字符串列表来确定 PyInputPlus模块的函数将接收还是拒绝那些内容作为有效输入。

  • allowRegexes: 表示接收满足这种正则表达的式子作为输入;
  • allowRegexes: 表示拒绝满足这种正则暴打的式子作为输入;

inputCustom()函数

  • 接收单个字符串参数,即用户输入的内容;
  • 如果字符串验证失败,则引发异常;
  • 如果inputCustom()应该返回不变的字符串,则返回None(或没有return语句);
  • 如果inputCustom()返回的字符串与用户输入的字符串不同,则返回非None值;
  • 作为第一个参数传递给inputCustom()
    我们可以创建自己的函数例如一个addsUpToTen()函数,我们需要将这个函数传递给inputCustom()inputCostom(addUpToTen)
    因为我们需要将addUpToTen()函数本身传递给inputCustom(),而不是调用addUpTen()并传递其返回值:
# 导入需要使用的模块,作为pyip
import pyinputplus as pyip

# 自定义一个函数,判断是不是满足条件
def add_up_to_ten(numbers):
    numbers_list = list(numbers)
    for i, digit in enumerate(numbers_list):
        numbers_list[i] = int(digit)
    if sum(numbers_list)!= 10:
        raise Exception('这几个数的和不是 10 ,而是 %s 。' % (sum(numbers_list)))
    return int(numbers)

# 通过模块中的inputCustom()函数,将自定义的函数传递进去。
response = pyip.inputCustom(add_up_to_ten)

print(response)  # 打印结果。

标签:函数,Python,用户,inputCustom,模块,PyInputPlus,输入
From: https://blog.csdn.net/zhjx0903/article/details/140767966

相关文章

  • 用Python实现二进制搜索(二分查找)
    二进制搜索(binarysearch,又称二分搜索)是一种快速有效的搜索方法,用于搜索有序列表中的元素。importmathdefbinary_search(sorted_list,target):"""在有序列表sorted_list中查找目标值target的位置使用二分查找算法"""lower_bound=0#初始......
  • 超详细Python教程——使用Hexo搭建自己的博客
    使用Hexo搭建自己的博客对于一个程序员来说,搭建一个属于自己的博客平台是非常有意义的事情。首先,博客可以记录自己的成长历程,也是对自己一段时间学习和工作的总结和沉淀;其他,通过博客可以营销自己,增强自己在互联网或行业内的影响力,为将来更好的职业生涯打一个坚实的基础。前......
  • 超详细Python教程——玩转PyCharm
    玩转PyCharmPyCharm是由JetBrains公司开发的提供给Python专业的开发者的一个集成开发环境,它最大的优点是能够大大提升Python开发者的工作效率,为开发者集成了很多用起来非常顺手的功能,包括代码调试、高亮语法、代码跳转、智能提示、自动补全、单元测试、版本控制等等。此外,P......
  • 2024年华为OD机试真题-找出作弊的人-(C++/Java/python)-OD统一考试(C卷D卷)
    2024华为OD机试真题目录-(B卷C卷D卷)-【C++JavaPython】  题目描述公司组织了一次考试,现在考试结果出来了,想看一下有没人存在作弊行为,但是员工太多了,需要先对员工进行一次过滤,再进一步确定是否存在作弊行为。过滤的规则为:找到分差最小的员工ID对(p1,p2)列表,......
  • Shopee虾皮api python获取虾皮购物平台的商品数据信息 数据采集
    虾皮购物(英语:Shopee)是一个电商平台,总公司设在新加坡,归属于SeaGroup(之前称之为Garena),该企业于2009年由李小冬(ForrestLi)创办。虾皮购物于2015年初次在新加坡推出,现阶段已拓展到马来西亚、泰国、印度尼西亚、越南和菲律宾。虾皮购物为全球华人地区的客户提供线上购物和销售......
  • 2024华为OD机试真题- 亲子游戏Python-C卷D卷-200分
    2024华为OD机试题库-(C卷+D卷)-(JAVA、Python、C++)题目描述宝宝和妈妈参加亲子游戏,在一个二维矩阵(N*N)的格子地图上,宝宝和妈妈抽签决定各自的位置,地图上每个格子有不同的糖果数量,部分格子有障碍物。游戏规则是妈妈必须在最短的时间(每个单位时间只能走一步)到达宝宝的位置,路上......
  • 11. 2 用Python开发一个简单的Web服务器
    用Python开发一个简单的Web服务器11.2用Python开发一个简单的Web服务器11.2.1需求分析11.2.2系统设计11.2.3详细设计11.2.4实现11.2.5测试11.2.6部署和维护11.2.7文档和帮助文档11.2.8用户反馈11.2用Python开发一个简单的Web服务......
  • 11.1 用Python开发一个计算器程序
    用Python开发一个计算器程序11.1用Python开发一个计算器程序11.1.1设计思路11.1.2编写代码11.1.3运行与测试11.1用Python开发一个计算器程序在编程的世界里,创建简单的工具如计算器是初学者学习编程语言的一个好方法。Python,由于其简洁的语法......
  • Python - Values returned by and and or operators
    Unlikesomeotherlanguages,inPython,thelogicaloperatorsandandordonotreturnBooleanvaluesTrueorFalse;theyactuallyreturnthelastevaluatedoperand.Wegenerallyusetheseoperatorsinifandwhileconditions,sowedonotgettoknowwha......
  • ICEEMDAN算法 python代码实现
    1.安装matlab.enginepython库里没有ICEEMDAN的方法,需要通过python调用matlab的库中的ICEEMDAN。首先下载python和matlab(这里就不过多阐述了),python和matlab的版本要对应,下面是python和matlab对应的版本(仅供参考)(要记住matlab安装的位置,下面要用)从anacondapropmt进入自己创建......