Python 巨蟒:“;索引器:字符串索引超出范围“;初学者

Python 巨蟒:“;索引器:字符串索引超出范围“;初学者,python,for-loop,indexing,Python,For Loop,Indexing,我知道,我知道,这个问题以前被问过很多次。但我不知道如何在这里修复它-在这个特定的实例中。当我减去2(这是建议的)时,在if语句中仍然会得到相同的错误。谢谢 代码(至少它应该)取一个字符串“s”,并根据字母“order”对其进行测量,然后以字母顺序给出s中最长子字符串的输出 order = "abcdefghijklmnopqrstuvwxyz" s = 'abcbcdabc' match = "" for i in range(len(s)): for j in range(len(orde

我知道,我知道,这个问题以前被问过很多次。但我不知道如何在这里修复它-在这个特定的实例中。当我减去2(这是建议的)时,在if语句中仍然会得到相同的错误。谢谢 代码(至少它应该)取一个字符串“s”,并根据字母“order”对其进行测量,然后以字母顺序给出s中最长子字符串的输出

order = "abcdefghijklmnopqrstuvwxyz"
s = 'abcbcdabc'
match = ""

for i in range(len(s)):
for j in range(len(order)):
    if (((i + j ) - 2) < len(order) and order[i] == s[j]):
        match += s[i] 

print("Longest substring in alphabetical order is: " + match)
order=“abcdefghijklmnopqrstuvxyz”
s='abcbcdabc'
match=“”
对于范围内的i(len(s)):
对于范围内的j(len(order)):
如果((i+j)-2
这是因为您正在使用
顺序的索引
j
来访问
s
列表。可能
j
大于
len
,因此
索引器


我不知道你想用代码实现什么。但在任何情况下,您都可以更改以下内容以使其正常工作:
match+=s[i]
match+=order[j]
这是因为您使用
order
列表的索引
j
来访问
s
列表。可能
j
大于
len
,因此
索引器


我不知道你想用代码实现什么。但在任何情况下,您都可以更改以下内容以使其正常工作:
match+=s[i]
match+=order[j]

什么是
s
,什么是
order
?你到底想做什么?你能总结一下你的问题,展示一个示例输入和你的预期输出吗?代码应该取一个或多个字符串,并找出与另一个字符串(顺序)相同的最长字符串,输出是最长的匹配字符串。我将用代码的其余部分编辑主代码什么是
s
,什么是
order
?你到底想做什么?你能总结一下你的问题,展示一个示例输入和你的预期输出吗?代码应该取一个或多个字符串,并找出与另一个字符串(顺序)相同的最长字符串,输出是最长的匹配字符串。我将用代码的其余部分编辑主代码。问题实际上在if语句中。对不起,我没有澄清这一点。我似乎错过了。谢谢你指出。这个问题实际上在if声明中。对不起,我没有澄清这一点。我似乎错过了。谢谢你指出。