给定一个字符串s,返回一个字符串
其第一个字符的所有出现
已更改为' *',但不要更改
第一个字符本身。
e.g。 '多路重合'收益率' ba ** le'
假设字符串长度为1或更长。
def fix_start(s):
MyString = s[1:]
for charr in MyString:
if charr == s[0]:
s.replace(charr,'*')
return s
我所做的错误
答案 0 :(得分:1)
当用s.replace替换字符串s中的字符时,这将返回一个新字符串(并且不会更新s本身)。然后,你应该添加s = s.replace(...)。 您也可以写为:
def fix_start(s):
return s[0]+s[1:].replace(s[0],'*')
res=fix_start('babble')
print(res)
` 这样你就不必对字符串的所有字符进行for循环。
答案 1 :(得分:0)
你可以用一行来做。尝试:
def fix_start(s):
return s[0] + s[1:].replace(s[0], '*')