c语言编程笔录

您现在的位置是:首页 > 编程 > 编程经验

编程经验

使用Python的 nput函数获取用户输入

李中冰 2023-09-11编程经验
第一段:nput函数概述Python是一种以易读易写为特点的高级编程语言,它支持多种编程范式,包括面向对象、命令式、函数式和过程式编程等。Python提供了众多内置函数,这些函数可以

第一段: nput函数概述

Python是一种以易读易写为特点的高级编程语言,它支持多种编程范式,包括面向对象、命令式、函数式和过程式编程等。Python提供了众多内置函数,这些函数可以在程序中直接调用。其中,input()函数可以获取用户的输入,使得程序可以根据用户输入做出不同的响应。nput()函数是input()函数的改进版,它对input()函数进行了扩展,提供了更多的功能。

def nput(prompt='', default=None, choices=None, allow_empty=True, check_type=None):
    """
    提供用户输入的函数,类似输入框
    :param prompt: 提示语
    :param default: 默认值
    :param choices: 可选值
    :param allow_empty: 是否允许空值
    :param check_type: 检查输入类型
    :return: 用户输入值
    """
    if choices:
        prompt += ' ({})'.format(', '.join(choices))
    if default is not None:
        prompt += ' [{}]'.format(default)
    while True:
        value = input(prompt)
        if not value and default is not None:
            value = default
        if value or allow_empty:
            if check_type is not None:
                try:
                    value = check_type(value)
                except ValueError:
                    continue
            if choices and value not in choices:
                continue
            return value

第二段: nput函数的参数

nput()函数具有五个参数,分别为prompt、default、choices、allow_empty和check_type。

  1. prompt:提示语。该参数用于向用户展示输入的提示信息,告诉用户需要输入什么内容。
  2. default:默认值。该参数用于指定用户没有输入时的默认值,可以为空。如果用户未输入任何值,则默认值将被返回。
  3. choices:可选值。该参数用于限制用户输入的值只能是列表中指定的值,否则将不予接受。
  4. allow_empty:是否允许空值。该参数用于控制是否允许用户输入空值。当allow_empty参数为True时,用户可以不输入任何值,此时如果指定了默认值,则默认值将被返回;如果未指定默认值,则返回空值""。当allow_empty参数为False时,用户必须输入值。
  5. check_type:检查输入类型。该参数用于控制输入值的类型。如果用户输入的内容不是指定的类型,则程序会强制转换成指定的类型。如果输入值无法转换成指定的类型,则将不予接受。
# 例1:含提示信息和默认值的输入框
name = nput('请输入姓名', default='小明')
print(f'您输入的姓名是{name}')

# 例2:限定只能输入指定值的输入框
age = nput('请输入年龄', choices=['18', '19', '20'])
print(f'您输入的年龄是{age}')

# 例3:限定只能输入数字的输入框
phone = nput('请输入联系电话', check_type=int)
print(f'您输入的电话是{phone}')

第三段: nput函数的使用示例

下面是一个nput()函数的使用示例,该示例展示了如何使用nput()函数来获取用户的输入:

name = nput('请输入您的姓名:')
print('您输入的姓名是:', name)

age = nput('请输入您的年龄:', check_type=int, default=18, allow_empty=False)
print('您输入的年龄是:', age)

gender = nput('请输入您的性别:', choices=['男', '女', '其他'], allow_empty=False)
print('您输入的性别是:', gender)

在这个示例中,我们首先调用nput()函数来获取用户的姓名,然后使用print()函数输出该姓名。接着,我们再调用nput()函数来获取用户的年龄和性别,分别使用print()函数输出这两个值。

第四段: nput函数的限制和建议

虽然nput()函数提供了更加丰富的功能,在处理用户输入方面具有更高的灵活性,但也存在一些限制和需要注意的地方。下面列举了一些常见问题:

  1. 如果需要获取较多的用户输入,建议封装成一个类,更具可读性和可重用性。
  2. 对于无法转换成指定类型的输入值,nput()函数不会抛出异常,而是会重新进入循环,这可能会导致用户输入多次才能通过检查,因此需要仔细检查输入的值。
  3. 如果允许用户输入空值,需要对返回的值进行空值处理,例如将空值转换成None或者空字符串""。
  4. 如果程序涉及到数据库、文件等更为复杂的操作,建议对输入值进行复杂性检查,例如检查是否包含SQL注入或恶意代码等。

文章评论