s=input() for i in range(1,len(s)): if(s[i-1,i]=="垃圾"or s[i-1,i]=="内幕"or s[i-1,i]=="辣鸡"): s=s.replace(s[i-1,i],'*') elif(s[i-1,i+1]=="不要脸"): s=s.replace(s[i-1,i+1],'*') print(s) 修改成正确
时间: 2024-03-15 15:43:31 浏览: 107
将输入的大写字母改用小写字母输出
的写法应该是:
s=input()
for i in range(1,len(s)):
if(s[i-1:i]=="垃圾"or s[i-1:i]=="内幕"or s[i-1:i]=="辣鸡"):
s=s.replace(s[i-1:i],'*')
elif(s[i-1:i+2]=="不要脸"):
s=s.replace(s[i-1:i+2],'*')
print(s)
修改的主要问题在于字符串切片的语法错误。在 Python 中,切片的语法是 s[start:end],表示从字符串 s 的 start 索引处开始,到 end-1 索引处结束,构成的子字符串。因此,原代码中的 s[i-1,i] 应该改成 s[i-1:i],s[i-1,i+1] 应该改成 s[i-1:i+1]。同时,第二个 if 判断中的切片索引也有问题,应该改成 s[i-1:i+2]。
阅读全文