在Python中查找Goal解析器解释命令的程序

在Python中查找Goal解析器解释命令的程序

假设我们有一个Goal解析器可以解释给定的字符串命令。一个命令由下列内容组成:

  • 字母”G”,

  • 开始和结束的括号”()”

  • 和/或顺序上为”(al)”。

我们的Goal解析器将”G”解释为字符串”G”,”()”解释为”o”,”(al)”解释为字符串”al”。最后,这些解释的字符串按原始顺序连接。所以,如果我们有字符串命令,则必须找到Goal解析器对命令的解释。

因此,如果输入如下命令:command = “G()()()(al)(al)”,则输出将为Goooalal。

解决这个问题,我们将按照以下步骤执行-

  • s:=空字符串

  • 对于i从0到命令大小-1,执行以下操作

    • 如果command[i]与”(“和”)”不同,则
      • s:=s拼接command[i]
    • 如果command[i]与”(“相同且command[i+1]与”)”相同且i+1<len(command),则
      • s:=s拼接’o’
    • 如果command[i]与”(“相同,则进行下一次迭代
      • 继续
    • 如果command[i]与”)”相同,则进行下一次迭代
      • 继续
  • 返回s

更多Python相关文章,请阅读:Python 教程

Python示例

让我们看以下实现,以更好地理解此内容−

def solve(command):
   s=""
   for i in range(len(command)):
      if command[i]!="(" and command[i]!=")":
         s+=command[i]
      if command[i]=="(" and command[i+1]==")" and i+1<len(command):
         s+='o'
      if command[i]=="(":
         continue
      if command[i]==")":
         continue
   return s

command = "G()()()(al)(al)"
print(solve(command))

输入

"G()()()(al)(al)"

输出

Goooalal

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程