从句子中删除字母

我正试图通过使用for循环从我输入的句子中删除每隔一个字母。然而,这段代码只是重新打印句子

选择 | 换行 | 行号
  1. def removeLetter(sentence):
  2.     index=0
  3.     for letter in sentence:
  4.         index=index+1
  5.         if index%2==0:
  6.             letter=""
  7.             sentence=sentence+letter
  8.             return sentence
# 回答1


您将字母赋给空字符串,然后将其添加到句子中,实际上什么也不做。下面的代码使用列表理解来创建要保留的字母的列表,然后将这些字母连接到一个新的缩写句子中。

选择 | 换行 | 行号
  1. >>> s = "This is a test sentence."
  2. >>> "".join([letter for i, letter in enumerate(s) if not i%2])
  3. 'Ti sats etne'
  4. >>> 
# 回答2


您必须将所需的字母添加到新字符串中,或者将原始字符串转换为列表。另请注意,Return语句没有正确的缩进。

选择 | 换行 | 行号
  1. def removeLetter(sentence):
  2.     index=0
  3.     new_sentence = ""
  4.     for letter in sentence:
  5.         index=index+1
  6.         if index%2==0:
  7.             new_sentence += letter
  8.     return new_sentence 

标签: python

添加新评论