我正在尝试创建一个脚本重写系统,以便在每次迭代之后,所有a都将更改为B,所有B都将更改为AB。初始状态为ABA,因此第一次迭代应生成BABB,但我得到的代码返回ABABAB。我对python很陌生,你可以从下面的代码中看出,如果你能解释一下为什么我做的事情会出错,我也会非常感激
SRS = { 'a':'b', 'b':'ab'}
script = "aba"
for key in SRS:
script = script.replace(key,SRS[key])
print(script)
Tags:
这是因为你先用b代替a,所以你有“bbb”,然后用ab代替b,所以得到“ababab”
以下是您需要的代码:
注意,我们循环处理字符串中的每个字符,并替换为字典中的匹配项
这里的问题是
script = script.replace(key,SRS[key])
运行在所有script
变量上,而不是逐个字符。如果逐字符运行替换,则它可以工作:在第一步中,将所有
a
替换为b
:然后将
^{pr2}$b
替换为ab
:如果要用字符替换字符,则必须循环
script
:相关问题 更多 >
编程相关推荐