📅  最后修改于: 2023-12-03 15:34:17.910000             🧑  作者: Mango
使用 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
,借助 try
和 except
语句,我们可以在这种情况下处理这个错误并提示用户重新输入。
在完成本文介绍的健壮代码后,我们现在可以从用户获取列表作为输入。我们演示了如何使用 input()
函数和 split()
函数来获取输入,并使用 try
和 except
语句处理各种错误情况。在下一次编写 Python 代码并需要从用户获取列表作为输入时,请记得使用这些技术。