2017-10-03 17 views
0

をループするために私がお願いしたいと思います - 比較する方法:同じインデックス/位置のPythonは - リスト内の隣接する文字列内の文字を比較 -

  • 文字 - 文字列中 - 文字列がリストにあります - リストはおそらくforループです。

これは海の島の土地周辺を計算します(土地= 'X'、海= 'O')。縦線で2つの文字をされた比較 - 私の意見では - 特定の土地の正方形の枠線の量を計算するのに必要な..

を** EDIT:エクササイズのリンク: https://www.codewars.com/kata/land-perimeter/train/python

私は(そのジッパーを想定)機能することができます助けが、私は知らない/発見していない - どのようにforループに実装する方法

以下のコード(それは最初の思考/ドラフト、PrevHor、prevVer、コードからpは - 重要ではない現在):

island = ["OXOOOX", "OXOXOO", "XXOOOX", "OXXXOO", "OOXOOX", "OXOOOO", "OOXOOX", "OOXOOO", "OXOOOO", "OXOOXX"] 

def land(island): 
    prevHor = 0 
    prevVer = 0 
    p = 0 

    for i, j in enumerate(island): 
     print(i) 
     for k, l in enumerate(j): 
       print(j) 
       print(k) 
       if l == 'X' and prevHor == 0 and prevVer == 0: 
        prevHor = 1 
        prevVer = 1 

       if l =='X' and prevHor == 1 and prevVer == 1: 
        prevHor = 2 
       if l == 'X' and i > 0 and l[k] in j[i-1] == 'X': 
        print('Vertical Match!!') 

答えて

0

誰でも..、してください.. :) 私にエラーがあります:

Traceback (most recent call last): 
    File "<pyshell#3>", line 1, in <module> 
    land(island) 
    File "<pyshell#2>", line 17, in land 
    if l == 'X' and i > 0 and l[k] in j[i-1] == 'X': 
IndexError: string index out of range 
関連する問題