📌  相关文章
📜  Python|从用户获取列表作为输入(1)

📅  最后修改于: 2023-12-03 15:34:17.910000             🧑  作者: Mango

Python | 从用户获取列表作为输入

使用 Python 语言编写程序时,我们经常需要从用户获取数据,其中一种常见需求是从用户获取一个列表作为输入。在这篇文章中,我们将介绍如何使用 Python 从用户获取列表,并对输入进行必要的验证和处理。

从用户获取列表

首先,让我们看一个简单的示例,演示如何从用户获取列表输入。我们可以使用 input() 函数来从用户获取输入,然后使用 split() 函数将字符串分割成列表:

user_input = input("请以逗号分隔的方式输入列表: ")
user_list = user_input.split(",")
print(user_list)

这个示例将提示用户输入一个列表,每个元素之间用逗号分隔。输入的字符串将被分割成列表,并打印输出。这是一个简单的实现,但它假设用户输入一组有效的、已分隔的数据。实际上,很可能在用户输入时发生错误,导致程序崩溃。为了防止出现意外情况,我们需要对用户输入进行一些验证和处理。

验证和处理用户输入

下面是一个更加健壮的实现,可以处理各种类型和错误的用户输入,并将其转换为一个有效的列表:

def get_user_list(prompt):
    while True:
        user_input = input(prompt)
        try:
            user_list = [int(x) for x in user_input.split(",")]
            return user_list
        except ValueError:
            print("输入有误,请输入逗号分隔的整数列表。")

user_list = get_user_list("请以逗号分隔的方式输入列表: ")
print(user_list)

这个实现包含一个名为 get_user_list() 的函数,用于获取并处理用户输入。该函数接受一个 prompt 参数,用于提示用户输入。主循环负责等待用户输入,如果输入不符合预期,将提示用户重新输入。如果输入正确,get_user_list() 将返回一个有效的整数列表。

使用 int() 函数,我们可以将用户输入的每个元素转换为整数。如果输入不符合预期(如输入内容包含字母或无法进行转换),则会引发一个 ValueError,借助 tryexcept 语句,我们可以在这种情况下处理这个错误并提示用户重新输入。

结论

在完成本文介绍的健壮代码后,我们现在可以从用户获取列表作为输入。我们演示了如何使用 input() 函数和 split() 函数来获取输入,并使用 tryexcept 语句处理各种错误情况。在下一次编写 Python 代码并需要从用户获取列表作为输入时,请记得使用这些技术。