2017-02-21 19 views
0

У меня есть цикл в Python и пропустил последний символ в строке, я пытался печатать переменную следующим образом: for i in "125": print (i) и оно не напечатать 5, вот мой сценарий:для цикла пропускает символ?

OctalBinary1 = { 
      "0" : "000", 
      "1" : "001", 
      "2" : "010", 
      "3" : "011", 
      "4" : "100", 
      "5" : "101", 
      "6" : "110", 
      "7" : "111" 
} 
def toBinaryOctal(x): 
      counter = 0 
      sum_var = "" 
      fin_var = "" 
      for i in x: 
        counter += 1 
        sum_var += str(i) 
        if (counter != 3): 
           for x , y in OctalBinary1.items(): 
             if x == sum_var: 

                fin_var += OctalBinary1[x] 
                sum_var = "" 
             else: 
              print ("Did not find a match") 
              print (i) 

      return fin_var 




print (toBinaryOctal("125")) 
+0

что случилось с 'bin (125)'? –

+0

Я просто пытаюсь сделать это сам – guy

+0

как часть моей домашней домашней работы – guy

ответ

1
for i in x: 
    counter += 1 
    sum_var += str(i) 

    if (counter != 3): 

Когда цикл цикла достигнет "5" счетчик будет 3 в строке if (counter != 3), поэтому он сразу же сломает цикл. Вот почему вы не получаете вывод "5".

+0

ohh right! Благодаря! это была глупая ошибка – guy

 Смежные вопросы

  • Нет связанных вопросов^_^