ValueError: подстрока не найдена - PullRequest
0 голосов
/ 28 апреля 2018

Я пытался проверить, если lower[lower.index(j)+shift]>26, но он вернул

ValueError: подстрока не найдена в 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

Спасибо

1 Ответ

0 голосов
/ 28 апреля 2018

Метод iterable.index (obj) вызовет ошибку Value, если obj не найден в итерируемой.

То есть что-то в self.message_text не является частью string.ascii_lowercase.

Попробуйте заключить строку в предложение try-exc.

try:
    lower.index(j)
except ValueError:
    print('{} not found in the search space.'format(j))
    continue
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...