teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

修正

2017/11/01 07:52

投稿

Lopn_
Lopn_

スコア50

answer CHANGED
@@ -22,7 +22,7 @@
22
22
  if inp_id == arr[i][0]:
23
23
  find = True
24
24
  else:
25
- pass
25
+ find = False
26
26
  if find:
27
27
  uuid = arr[i][1]
28
28
  print(uuid)

3

continueで元に戻るのを修正

2017/11/01 07:52

投稿

Lopn_
Lopn_

スコア50

answer CHANGED
@@ -22,7 +22,7 @@
22
22
  if inp_id == arr[i][0]:
23
23
  find = True
24
24
  else:
25
- continue
25
+ pass
26
26
  if find:
27
27
  uuid = arr[i][1]
28
28
  print(uuid)

2

修正

2017/11/01 07:50

投稿

Lopn_
Lopn_

スコア50

answer CHANGED
@@ -25,10 +25,10 @@
25
25
  continue
26
26
  if find:
27
27
  uuid = arr[i][1]
28
- id_json = {"id": 100}
29
- print(id_json)
28
+ print(uuid)
30
29
  else:
31
30
  print("Error")
32
31
  ```
33
32
  としてください。
34
- len(arr)でint型になるのでint()は必要ありません。
33
+ len(arr)でint型になるのでint()は必要ありません。
34
+ uuidをプリントするのでないなら、その部分を別のものに置き換えてください

1

コードの修正

2017/11/01 07:44

投稿

Lopn_
Lopn_

スコア50

answer CHANGED
@@ -1,1 +1,34 @@
1
- settings.pyからMIDDLEWAREのdjango.middleware.csrf.CsrfViewMiddlewareをコメントアウトしましたか?
1
+ settings.pyからMIDDLEWAREのdjango.middleware.csrf.CsrfViewMiddlewareをコメントアウトしましたか?
2
+
3
+ 追記
4
+
5
+ こちらのコードでは{'id': 100}を5回連続で表示するコードにしかなっていません
6
+ ```python
7
+ for i in range(int(len(arr))):
8
+  if inp_id == arr[i][0]:
9
+   find = True
10
+  if find:
11
+   uuid = arr[i][1]
12
+   id_json = {"id": 100} #ここで必ず{"id": 100}にしている
13
+   print(id_json)
14
+  else:
15
+   print("Error")
16
+ ```
17
+
18
+ if文を二回連続で打ち込んでいるため、一度findがTrueになってしまうと後続もTrueの処理をしてしまいます。
19
+ なのでこれを
20
+ ```python
21
+ for i in xrange(len(arr)):
22
+ if inp_id == arr[i][0]:
23
+ find = True
24
+ else:
25
+ continue
26
+ if find:
27
+ uuid = arr[i][1]
28
+ id_json = {"id": 100}
29
+ print(id_json)
30
+ else:
31
+ print("Error")
32
+ ```
33
+ としてください。
34
+ len(arr)でint型になるのでint()は必要ありません。