ValueError: substring not found

ValueError: substring not found

我试图检查是否 lower[lower.index(j)+shift]>26,但它返回了

ValueError: substring not found in lower.index(j)+shift>26

我的代码:

def build_shift_dict(self, shift):
    lower=string.ascii_lowercase
    upper=string.ascii_uppercase
    d={}
    for j in self.message_text:
        if lower.index(j)+shift>26: # or if lower[lower.index(j)+shift]>26:
            print('something')
        if j.islower():
            d[j]=lower[lower.index(j)+shift]
        else:
            d[j]=upper[upper.index(j)+shift]
    return d

谢谢

如果在可迭代对象中找不到 'obj',iterable.index(obj) 方法将引发值错误。

所以 self.message_text 中的某些内容不属于 string.ascii_lowercase

尝试在 try-except 子句中换行。

try:
    lower.index(j)
except ValueError:
    print('{} not found in the search space.'format(j))
    continue