接受用户输入

已完成

Tip

有关更多详细信息,请参阅 “文本和图像 ”选项卡!

当程序能够与使用它们的人员交互时,程序变得非常强大。 Python的内置input()函数允许你暂停程序,等待用户键入内容并捕获该信息。

使用输入()

将 input() 函数视为问题提示。 当Python命中此行时,它会等到用户键入答案并按 Enter 键,然后再继续执行其余代码。

若要保存答案,必须使用变量“catch”它:

favorite_color = input("What is your favorite color? ")
print("Oh, I love", favorite_color, "too!")

在此代码中, favorite_color 是捕获用户响应的变量。 如果用户键入 Blue 并按 Enter,输出为:

What is your favorite color? Blue
Oh, I love Blue too!

可以尝试在联机 Python 解释器中 https://aka.ms/python-coder自行运行此代码。

Tip

请注意提示末尾的空白区域: "What is your favorite color? " 接受用户输入时,请在关闭引号之前添加空格或新行。 如果不这样做,用户的键入将直接粘附到文本上,看起来很混乱, 如下所示: What is your favorite color?Blue

有关数据类型的快速词

在更进一步之前,它有助于知道Python中的每个值都有一个数据类型,这是一个标签,告知Python它使用的值类型。 例如,一些常见数据类型包括:

  • 字符串 (str):用引号括起来的文本,如 "Blue" 或 "25"。 即使数字在引号内,也会变为文本。
  • 整数 (int):没有引号的整数,如 25 或 100。 Python可以使用它们进行数学运算。

为什么了解这一点很重要? Python以非常不同的方式对待这两种类型。 可以将数字相加(25 + 1 等于 26),但不能向文本添加数字("25" + 1 导致错误)。

输入始终为文本

要记住的基本规则是, input() 即使用户键入数字,函数 也始终 返回文本。 例如:

age = input("How old are you? ")
print("Next year you will be", age + 1)

如果运行此代码并键入 25,则可能需要打印 26它。 相反,Python崩溃并在控制台中显示错误消息:

TypeError: can only concatenate str (not "int") to str

age由于锁定为文本,因此你暂时无法对它执行数学运算。

如何阅读此错误

错误是代码中出错的线索。 让我们分解以下线索:

  • TypeError:您正尝试混合两种不属于一起的数据类型。
  • can only concatenate str (not "int") to str:“连接”表示将文本粘附在一起。

Python说:“你给了我文本”25“,并要求我粘附第一号。 我可以将文本粘附到文本,但我不知道如何将数学数字粘附到文本!

由于input()锁定用户在文本引号内的响应,因此Python将计算视为“25”+ 1,这是不可能的数学公式。