簡體   English   中英

Python:“ IndexError:字符串索引超出范圍”初學者

[英]Python: “IndexError: string index out of range” Beginner

我知道,我知道,這個問題已經被問過很多次了。 但在這種情況下,我不知道如何解決此問題。 當我減去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列表的索引j訪問s列表。 j可能大於len(s)因此可能是IndexError

我不知道您要使用這些代碼實現什么。 但是在任何情況下,您都可以進行以下更改以使其正常工作: match += s[i]match += order[j]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM