【问题标题】:Function to convert a CFG string to a tuple将 CFG 字符串转换为元组的函数
【发布时间】:2017-07-23 19:44:25
【问题描述】:

我需要一些帮助。

我想用 Python 编写一个函数,它允许我从一个字符串中创建一个元组。如果字符串的格式不正确,函数应该打印“False”。

下面是函数的 I/O 示例:

Input: cfg rule('S --> NP VP')       # should be the input as str
Output: ('S',['NP','VP'])            # this should be the output

i = str(input('等待语法规则:'))
def 语法(g):
如果我 == ?
打印
其他
print('格式错误')

问题是我必须将字符串转换为我猜的元组。 但我不知道该怎么做。 请注意,给定的示例只是一个原型。 因此,获得以下结构更为重要:
('S --> NP VP')

('SS,['NP','VP'])

【问题讨论】:

  • 请出示您的代码
  • 这看起来很简单。你的代码有问题吗?我们可以提供帮助。
  • "正确的格式" ?好的,if i=="cfg rule('S --> NP VP')": result = ('S',['NP','VP'])
  • 正如我提到的,它应该适用于其他规则组合

标签: python string function tuples


【解决方案1】:

类似的东西?

import re

def convert(text):
    x=re.match(r'([a-zA-Z]+) --> ([a-zA-Z]+) ([a-zA-Z]+)',text)
    if x:
        return (x.group(1),[x.group(2),x.group(3)])
    else:
        return False

convert("S --> NP VP")

最好的,

但丁

【讨论】:

  • 如果这回答了您的问题或者我误解了它,请告诉我。
猜你喜欢
  • 2016-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-30
  • 2016-03-14
  • 1970-01-01
  • 2012-01-19
相关资源
最近更新 更多