2015-05-03 7 views
-1

Я пишу очень грубый Caesar Cipher в Python, и он отлично работает с простыми сообщениями, но когда я ввожу полный алфавит, я получаю ошибку на моей 16-й строке, говоря, что есть индексная ошибка : индекс строки вне диапазона. Может ли кто-нибудь помочь мне узнать, что случилось? Вот мой код:Может ли кто-нибудь помочь мне узнать, что случилось? Ошибка индекса в моем коде

abc = "ABCDEFGHIJKLMNOPQRTUVWXYZ" 
    m = str(input("Message: ")) 
    m = m + "~" 
    m_t = m.index("~") 
    o = int(input("Offset: ")) 
    e_m = "Encrypted Message: " 
    for loop_counter in range(m_t): 
     c = m[loop_counter] 
     if c in abc: 
      p = abc.index(c) 
      p = p + o 
      if 25 < p: 
       p = p - 26 
      elif 0 > p: 
       p = p + 26 
      n_c = abc[p] 
      e_m = e_m + n_c 
     else: 
      e_m = e_m + c 

    print(e_m) 
+0

Вы пробовали отладки? –

ответ

4

Ваш «а» строка длиной 25, вы пропустили букву «S» ...

+0

Ничего себе, никогда не думал проверить мой алфавит. Это неловко. Спасибо за помощь, хотя, я очень ценю это. –