我是编程的新手。本练习的目标是将字符串转换为新字符串,其中新字符串中的每个字符为“(”(如果该字符在原始字符串中仅出现一次)或“)”(如果该字符在原始字符串中出现多次)细绳。在确定字符是否重复时忽略大写。
但是当代码遇到 ) -- 右括号时,它会产生错误的输出。正如我发现的那样,问题出在正则表达式上,但我不知道如何修复代码。
from collections import Counter
def duplicate_encode(word):
counter = Counter(word.lower())
counter2 = dict.copy(counter)
print(counter2)
for k,v in counter2.items():
if counter2[k]==1:
counter2[k]='('
else:
counter2[k]=')'
for key in counter2.keys():
word = str(word.lower()).replace(key, str(counter2[key]))
return word
例如:
duplicate_encode('yy! R)!QvdG')应该回来)))((()((((但我得到了(((((((((((。
呼唤远方
狐的传说
跃然一笑
慕桂英4014372
随时随地看视频慕课网APP
相关分类