我已经在这段代码上工作了一段时间,但似乎无法弄清楚。我们不允许使用接头,.find()、. count()或.replace()。我必须使用for循环来做,但是似乎找不到解决方法。 当前代码如下:
def removeChar(word1, letter1):
s1 =''
length = len(word1)
for i in range(length):
if (letter1 in word1[i]):
s1 = word1[i]
return s1
谢谢您的任何帮助。
答案 0 :(得分:4)
您必须遍历您的字符串。每当遇到不是要排除的字母时,请将其添加到新字符串中。如果是,请忽略它。迭代结束后,返回新字符串。
def removeChar(word1, letter1):
new_string = ''
for letter in word1:
if (letter != letter1):
new_string += letter
return new_string
>>> removeChar('hello', 'o')
'hell'
>>> removeChar('hello', 'l')
'heo'
答案 1 :(得分:1)
足够简单,可以一行完成:
new_word = ''.join(char for char in word if char != letter)
答案 2 :(得分:1)
最短的方法是使用类似这样的内容:
word = "let's remove some letters from this string"
letter = 's'
print(''.join(word.split(letter)))
说明:
split(letter)
将使用字母作为分隔符的输入字符串分成字符串列表''.join
联接此列表的所有元素,这将产生不带字符letter
的字符串。 split
和join
是对字符串的基本操作输出:
python remove_letter.py
let' remove ome letter from thi tring
答案 3 :(得分:0)
尝试
s1.extend([word[i]]))
此代码将为s1添加单个单词字母。当前,您的代码将s1全部设置为一个单词字母