python
1a = [ 2[1,1,3,8], 3[1,3,8,1], 4[1,1,1,1] 5] 6x = [1,3,8,1] 7 8pos_of_x = -1 9for i in range(3): 10 is_x = True 11 for j in range(4): 12 if a[i][j] != x[j]: 13 is_x = False 14 15 if is_x: 16 pos_of_x = i + 1 17 break 18 19print(pos_of_x)
上記のような、aとxの数列を比較した際に、aの何列目の数列がxと合致しているかを調べるコードについて質問です。
12,13行目の、
python
1if a[i][j] != x[j]: 2 is_x = False
という書き方だと、a[0][0]とx[0]が一致するので、is_xはfalseとならず、Trueとなるのですが、
python
1print(pos_of_x)
で出力されるのは、このコードの目的通り、合致した数列を判定することに成功していて、「2」です。
このように、is_xがTrueとなったにも関わらず、15~17行目の、
python
1if is_x: 2 pos_of_x = i + 1 3 break
この部分が機能しないのはなぜでしょうか?
おそらく、プログラミング初心者の私がまだ学習していないことや、forの二重ループやif文についての大きな認識ミスがあると思うのですが、教えていただきたいです。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/09 11:18