您的位置:

使用Python的input函数读取用户输入

当我们使用Python编写程序时,我们通常需要与用户交互获得输入数据。为了能够读取用户输入数据,Python提供了一个内置函数input()。在本文中,我们将详细介绍如何使用Python的input函数。

一、input函数的基本用法

input函数用于读取用户输入的数据,在读取之前需要先向用户展示提示信息。该函数的基本用法如下:

    name = input("请输入您的名字:")
    print("您好," + name + "!")

运行该程序后,会在控制台输出"请输入您的名字:",等待用户输入。当用户输入完姓名后,程序会将输入的值保存到变量name中,并输出"您好," + name + "!"。

需要注意的是,input函数返回的是一个字符串类型(str),因此如果需要获取其他类型的数据(例如整型或浮点型),需要通过强制类型转换来实现,例如:

    age = int(input("请输入您的年龄:"))
    print("您的年龄为:" + str(age) + "岁")

在上面的代码中,我们获取用户输入的年龄,然后将其转换为整型。请注意,我们使用str()将年龄强制转换为字符串,这是为了能够用’+’连接字符串。

二、input函数的高级用法

1.设置缺省值

在程序设计中,有时候我们需要给用户提供默认值以方便输入,在这种情况下可以使用input函数的第一个参数为缺省值,例如:

    name = input("请输入您的名字:(默认为小明)") or "小明"
    print("您好," + name + "!")

在上面的代码中,如果用户没有输入名字,那么默认值为"小明"。如果用户输入了名字,则使用用户的输入值。或运算符"or"用来判断用户是否输入了名字,如果没输入则返回缺省值"小明"。

2.设置超时时间

有时候,我们需要限制用户对某个输入的响应时间。例如,在游戏或安防方面,我们需要对用户在特定时间内作出响应。可以使用input函数的"signal.alarm()"来实现此功能,例如:

    import signal
    import time
    
    def interrupt(signum, frame):
        raise Exception("Time out!")
    
    signal.signal(signal.SIGALRM, interrupt)
    signal.alarm(5)
    
    try:
        input("5s内输入您的名字:")
    except Exception as e:
        print(e)
    else:
        signal.alarm(0)
        print("输入正确")

在上面的代码中,我们使用了Python的signal模块,设置超时时间为5秒。如果在5秒内用户没有输入名字,则程序会报出异常。否则,程序会正常运行,并输出"输入正确"。

3.读取多个值

有时候,我们需要从用户输入一次中读取多个值。在这种情况下,我们可以使用split()函数,例如:

    str_input = input("请输入您的名字、年龄、性别,以逗号分隔:")
    name, age, sex = str_input.split(',')
    print("姓名:" + name)
    print("年龄:" + age)
    print("性别:" + sex)

在上面的代码中,我们要求用户输入姓名、年龄和性别,然后将输入的值通过逗号(",")分隔开,最后将每个值赋值给不同的变量。需要注意的是,输入的多个值分隔符必须为同一个符号。

三、总结

在本文中,我们详细介绍了如何使用Python的input函数读取用户输入。我们涉及了input函数的基本用法和高级用法,例如设置缺省值、设置超时时间和读取多个值。通过这些实例,我们可以更好地掌握Python的input函数。