2017-02-21 6 views
0

私はpythonでforループがあり、それが文字列の最後の文字をスキップし、私はそうのようなバリアブル印刷しようとした: for i in "125": print (i) をし、それが5を印刷didntは、ここに私のスクリプトです:forループは文字をスキップしますか?

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): 

forループが"5"に達すると、カウンタはif (counter != 3)の3になりますので、直後にループを解除します。だからあなたは"5"出力を得られません。

+0

オハイオ州右!ありがとう!それは愚かな間違いだった – guy

関連する問題