Python3-从用户输入的字符串中提取数据。可能是格式错误
我一直在试图找到一种方法来获取用户输入,其形式应为: [x1,y1][x2,y2] 这意味着x1、x2、y1、y2是整数值 关键是让棋子从位置a移动到位置b 我的目标是让用户按如下方式输入:Python3-从用户输入的字符串中提取数据。可能是格式错误,python,regex,string,python-3.x,split,Python,Regex,String,Python 3.x,Split,我一直在试图找到一种方法来获取用户输入,其形式应为: [x1,y1][x2,y2] 这意味着x1、x2、y1、y2是整数值 关键是让棋子从位置a移动到位置b 我的目标是让用户按如下方式输入: move = input("\nSyntax: '[x,y][x,y]'") 我的意图是将字符串分开,以便最终得到两个列表 From=[x1,y1] To=[x2,y2] 我找到的最近的东西是: 然而,在我的例子中,对于这样一个简单的字符串,我相信有一个更简单的方法——什么是最有效的。此外,在这种情况下,
move = input("\nSyntax: '[x,y][x,y]'")
我的意图是将字符串分开,以便最终得到两个列表
From=[x1,y1]
To=[x2,y2]
我找到的最近的东西是:
然而,在我的例子中,对于这样一个简单的字符串,我相信有一个更简单的方法——什么是最有效的。此外,在这种情况下,用户可能会输入错误等。。。如何确保其格式为[x1,y1][x2,y2]?假设您的输入字符串如下所示:
my_str = '[x1,y1][x2,y2]'
为了将值存储在单独的变量中,您可以将[
和]
从拐角处剥离,并将][
替换为,
。然后将,
上的字符串拆分为:
x1, y1, x2, y2 = my_str.strip('[]').replace('][', ',').split(',')
>>> from ast import literal_eval
>>> my_str = '[1,2],[3,4]'
>>> from_list, to_list = literal_eval(my_str)
x1
、y1
、x2
、y2
保存的值将为:
>>> x1, y1, x2, y2
('x1', 'y1', 'x2', 'y2')
然后,为了存储要列出的值,您可以执行以下操作:
from_list = [x1, y2]
to_list = [x2, y2]
如果您可以将输入字符串的格式从[x1,y1][x2,y2]
更改为[x1,y1],[x2,y2]
(在][
之间使用逗号),则可以使用ast.literal\u eval
作为:
x1, y1, x2, y2 = my_str.strip('[]').replace('][', ',').split(',')
>>> from ast import literal_eval
>>> my_str = '[1,2],[3,4]'
>>> from_list, to_list = literal_eval(my_str)
假设您的输入字符串如下所示:
my_str = '[x1,y1][x2,y2]'
为了将值存储在单独的变量中,您可以将[
和]
从拐角处剥离,并将][
替换为,
。然后将,
上的字符串拆分为:
x1, y1, x2, y2 = my_str.strip('[]').replace('][', ',').split(',')
>>> from ast import literal_eval
>>> my_str = '[1,2],[3,4]'
>>> from_list, to_list = literal_eval(my_str)
x1
、y1
、x2
、y2
保存的值将为:
>>> x1, y1, x2, y2
('x1', 'y1', 'x2', 'y2')
然后,为了存储要列出的值,您可以执行以下操作:
from_list = [x1, y2]
to_list = [x2, y2]
如果您可以将输入字符串的格式从[x1,y1][x2,y2]
更改为[x1,y1],[x2,y2]
(在][
之间使用逗号),则可以使用ast.literal\u eval
作为:
x1, y1, x2, y2 = my_str.strip('[]').replace('][', ',').split(',')
>>> from ast import literal_eval
>>> my_str = '[1,2],[3,4]'
>>> from_list, to_list = literal_eval(my_str)
测试很好
测试很好。是否有一种简单的方法可以知道字符串的格式是否为[x1,y1][x2,y2]?因此向用户抛出错误。将用于转换字符串的代码放入try
/except
中。在except
块中,向用户抛出错误消息是否有一种简单的方法可以知道字符串是否不是[x1,y1][x2,y2]格式?从而向用户抛出错误。将用于转换字符串的代码放入try
/except
中。在except
块中,向用户抛出错误消息