<pre><code> def onlyLetters(seq):
seq = seq.lower()
letter = ('a', 'b', 'c', 'z')
for i in range(len(seq)):
if seq[i] != letter:
seq = seq[:i] + seq[i+1:]
return seq
</code></pre>
<p>我试着做一个for循环,遍历字符串seq的所有元素,检查它是否匹配元组字母(稍后我将用字母表中的所有字母填充它),如果不匹配,我将通过切掉与元组不匹配的第I个元素来重新定义字符串seq。我想用“你好吗?”返回时不带空格和标点符号,小写为“hellohowareyou”。但是,当我运行代码时,我在第5行得到一个错误“字符串索引超出范围”。请帮忙。你知道吗</p>
<pre><code> onlyLetters(' K KKdf afd')
---------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-368-70e5521e7134> in <module>()
----> 1 onlyLetters(' K KKdf afd')
<ipython-input-367-fb538af71ff5> in onlyLetters(seq)
3 letter = ('a', 'b', 'c', 'z')
4 for i in range(len(seq)):
----> 5 if seq[i] != letter:
6 seq = seq[:i] + seq[i+1:]
7 return seq
IndexError: string index out of range
</code></pre>