我必须编写一个程序,在这个程序中你输入两个单词,并在第一个单词是第二个单词被反转而没有第一个和最后一个单词时制作一个if语句。我有s2 [1:-1:-1] == s但我不明白这是如何工作的,因为s2 [1:-1] == s如果我输入像lian和绕指柔。此外,我必须编写另一个带有for循环和两个拼接的程序,以确定如果删除一个字符,单词是否与另一个单词相同。即splender =细长。有什么提示吗?
答案 0 :(得分:2)
你必须记住,Python中的切片运算符[start:finish]从开始到结束之前。请考虑以下事项:
>>>'hello'[1:-1]
'ell'
>>>'hello'[-2, 0, -1]
'lle'
当你倒退时,你需要从另一端开始。
编辑:或者,如果你想变得不那么聪明,你可以做到
>>>'hello'[1:-1][::-1]
'lle'
答案 1 :(得分:0)
def comp_words(longerW, shorterW):
# compare if removing a char from first word can make it identical to second word
return any(longerW[:i] + longerW[i+1:] == shorterW for i, c in enumerate(longerW))