TypeError:必须是str,而不是在if语句中使用的int

时间:2018-03-15 09:19:24

标签: python

我在此代码中收到以下错误

s = 'AAAAUGTTVVGGCCUAG'

for i in s:
    if s[i:i+3] == "AUG":
        s = s[i:]

print (str(s))

1 个答案:

答案 0 :(得分:2)

写作时

for i in s:

你得到的是一个来自s的字符,你没有得到字符串s中字符的索引。

您想要做的是:

for i in range(len(s)):

另外,如果你这样做,你将得到一个超出范围的索引错误(因为对于第二个最后一个char i + 3超出范围)。添加一个break语句:

if (i + 3 > len(s)):
    break