尝试用新字符替换字符串中给定字符的所有实例。以下是我的代码:
def main():
s='IS GOING GO'
x='I'
y='a'
rep_chr(s,x,y)
def find_chr(s,char):
i=0
for ch in s:
if ch==char:
return (i)
break
i+=1
return -1
def rep_ch(s,x,y):
result=""
for char in s:
if char == x:
print(result=result+ y )
else:
return char
main()
编辑代码,但它仍然用'a'替换第一个'I'而忽略第二个'I'。有什么建议吗?
答案 0 :(得分:5)
for i in range(s1):
此处s1
是一个字符串,您将其传递给range
函数,该函数只需要数字作为参数。那就是问题所在。你应该使用字符串的长度
for i in range(len(s1)):
但是,您的实际问题可以通过str.replace
来解决,就像这样
s='IS GOING GO'
x='I'
y='a'
print(s.replace(x, y))
如果你想在没有str.replace
的情况下解决,你可以这样做
s, result, x, y ='IS GOING GO', "", "I", "a"
for char in s:
if char == x:
result += y
else:
result += char
print(result)
<强>输出强>
aS GOaNG GO
同样的程序也可以像这样编写
s, result, x, y ='IS GOING GO', "", "I", "a"
for char in s:
result += y if char == x else char
print(result)