2015-10-04 56 views
-2

我必須編寫一個程序,在其中放入兩個單詞,並在第一個單詞是第二個單詞並且沒有第一個和最後一個字符的情況下生成if語句。我有s2 [1:-1:-1] == s,但我不明白這是行不通的,因爲s2 [1:-1] == s可以工作,如果我插入像蓮和柔韌。另外,如果刪除一個字符,我還必須編寫另一個帶for循環和兩個拼接的程序,以確定單詞是否與另一個單詞相同。即脾=細長。任何提示?刪除字符和顛倒python中的字符串

回答

2

您必須記住Python中的slice運算符[start:finish]從開始到結束之前。考慮以下幾點:

>>>'hello'[1:-1] 
'ell' 
>>>'hello'[-2, 0, -1] 
'lle' 

當你向後走時,你需要從另一端開始。

編輯:另外,如果你想成爲一個有點不太聰明的你可以做

>>>'hello'[1:-1][::-1] 
'lle' 
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))