读取键盘输入

已完成

许多程序是交互式的。 支持交互性意味着你有一个根据输入内容以不同方式运行的程序。 向程序输入数据的通常是人,但也可以是另一个程序。 有许多种方法可将输入发送到程序;两种常见方法是通过图形界面或控制台。

用户输入

为了读取键盘输入,Python 提供了 input() 函数。 input() 可读取用户在键盘上键入的内容并将其作为字符串返回。 以下示例将 input()print() 相结合,以捕获人名,然后将其显示在屏幕上:

name = input('Enter your name:')
print(name)

作为参数传递到 input 函数的字符串是用户将看到的提示。 在此示例中,你将要求用户键入其姓名(“输入你的姓名”)。 用户键入姓名并按 Enter 后,input 函数将返回。 函数的返回值是用户键入的文本,该文本会分配给名为 name 的变量。 然后 name 变量将用作 print 函数的输入或参数,该函数会输出用户输入的姓名。

还可以在不使用参数的情况下调用 input 函数:

print('What is your name?')
name = input()
print(name)

此程序的行为几乎与第一个程序的行为相同。 不同之处在于 print(默认)在输出后会进行换行。

读取数字作为输入

input 函数始终以字符串(文本)的形式返回键入值。 此选项是有意义的,因为用户可以根据需要输入任何值。 即使该输入是有效数字,它仍会作为字符串类型从 input 函数返回。 例如:

x = input('Enter a number: ')
print(type(x))

运行此代码并输入值“5”,即使值本身是数值,结果也将显示 <class 'str'>。 若要将值转换为真正的整数变量,可以使用 int() 函数:

x = int(input('Enter a number: '))
print(type(x))

此代码将为值“5”输出 <class 'int'>。 如果需要小数部分,可以采用相同的方式使用 float 函数。

重要

如果输入不是数值,却将它传递到 int() 函数,会出现什么情况? 如你所预期的,这会发生错误并导致运行时故障。 程序将在该语句处结束;你可以在 Python 交互式控制台中动手试一试。 我们将在以后的模块中介绍处理此类错误的多种解决方案。

将数字转换为字符串

你也可以选择反向转换。 str() 方法将获取整数或浮点值并将其转换为字符串。 如果希望下面的代码示例正常运行,则需要调用 str() 方法。 转换确保将字符串形式的整数连接到左侧的字符串。

x = 5
print('The number is ' + str(x))