在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]与”)”相同,则进行下一次迭代
- 继续
- 如果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