Skip to main content
 首页 » 编程设计

python之编写 python 代码,将字符串中所有重复的字符更改为 "@",除了该字符的第一次出现

2025年05月04日19myhome

我想制作一个 python 代码,将每个字符的第二次出现更改为“@”而不更改第一次出现,例如:

"Python is good prototyping language" to "Python is g@@d @r@@@@@@ la@@u@@e"

我已经写了下面的代码但是它不起作用

text = input ( "please enter some text ") 
for i in range(len(text)): 
    abc = text[i] 
    text.replace(abc,"@") 
print(text) 

请告诉我如何让它工作 提前致谢!

请您参考如下方法:

你可以试试这个:

s = 'Python is good prototyping language' 
seen = [] 
new_s = '' 
for i in s: 
   if i not in seen: 
       new_s += i 
       seen.append(i) 
   else: 
       if i != ' ': 
           new_s += "@" 
       else: 
           new_s += ' ' 

输出:

'Python is g@@d pr@@@@@@@@@ la@@u@@e' 

偶数分选机解决方案:

new_s = ''.join('@' if a in s[:i] and a != ' ' else a for i, a in enumerate(s)) 

输出:

'Python is g@@d pr@@@@@@@@@ la@@u@@e'