求助 想问问该怎么改,谢谢!
题目:该函数应返回一个新字符串,该字符串是通过一次从word2中删除word1中的每个字母而形成的。 (即,word1中与word2中的字母不匹配的任何字母都可以简单地忽略。)word1中出现的每个字母都恰好删除了word2中出现的一个字母。您可以假定两个参数都不为空。Test:print(remove_letters('hello', 'world'))
result:wrd
Test:print(remove_letters('world', 'hello'))
result:hel
代码
def remove_letters(word1, word2):
result = list(word2)
for letter in word1:
if letter in word2:
result.remove(letter)
return ''.join(result)
zltzlt 发表于 2020-8-10 18:56
建议使用 replace() 删除字符,不能对一个列表边遍历边删
好滴 谢谢 但是好像结果不太对~ zltzlt 发表于 2020-8-10 18:56
建议使用 replace() 删除字符,不能对一个列表边遍历边删
print(remove_letters('world', 'hello'))这个最后得出来是 he它应该只删去了一个l zltzlt 发表于 2020-8-10 19:08
噢,看错题了,用你的方法,word1 加上 [:] 就行了
我觉得应该不是这里问题因为第一个test还是出错了的
Test:print(remove_letters('hello', 'world'))
result:wrd
运行不出来 def remove_letters(word1, word2):
result = list(word2)
for letter in word1[:]:
if letter in word2 and letter in result:
result.remove(letter)
return ''.join(result) zltzlt 发表于 2020-8-10 19:15
谢谢! 感谢!
页:
[1]