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

質問編集履歴

13

訂正

2017/08/21 08:15

投稿

bof
bof

スコア18

title CHANGED
File without changes
body CHANGED
@@ -76,7 +76,7 @@
76
76
  ```ここに言語を入
77
77
  for i in range(84):
78
78
  for j in range(84):
79
- matcher = matching_hist(histtrain[j:j+1, 0:], histtest[i:i+1, 0:])
79
+ matcher = matching_hist(histtest[i:i+1, 0:], histrain[j:j+1, 0:])
80
80
  matcher = float(matcher)
81
81
  #print(matcher)
82
82
  rat_lav.append([matcher, i, j])

12

質問の追加

2017/08/21 08:15

投稿

bof
bof

スコア18

title CHANGED
File without changes
body CHANGED
@@ -69,4 +69,16 @@
69
69
  }
70
70
  }
71
71
  ```
72
- 上記のようなコードを書いて、(i=0,k=0)→(i=0,k=1)・・・(i=1,k=0)→(i=1,k=1)の順にループして、⓵を順に表示したいのですが,for i中のfor kのループが終わった後にfor i=i+1へのループに行かないのですが、どうしたらよいのでしょうか?
72
+ 上記のようなコードを書いて、(i=0,k=0)→(i=0,k=1)・・・(i=1,k=0)→(i=1,k=1)の順にループして、⓵を順に表示したいのですが,for i中のfor kのループが終わった後にfor i=i+1へのループに行かないのですが、どうしたらよいのでしょうか?
73
+
74
+ rat_lav[84-k][1]が全部0になっているのは
75
+
76
+ ```ここに言語を入
77
+ for i in range(84):
78
+ for j in range(84):
79
+ matcher = matching_hist(histtrain[j:j+1, 0:], histtest[i:i+1, 0:])
80
+ matcher = float(matcher)
81
+ #print(matcher)
82
+ rat_lav.append([matcher, i, j])
83
+ ```
84
+ この部分が原因になっているのでしょうか?

11

訂正

2017/08/21 08:13

投稿

bof
bof

スコア18

title CHANGED
File without changes
body CHANGED
@@ -6,7 +6,7 @@
6
6
  if i==rat_lav[84-k][1] :
7
7
  l = rat_lav[84-k][2]
8
8
  #print("l:",l, "value:", rat_lav[84-k][0], "k:", k, "test.i:", i)
9
- if countz + counto + counts=5:
9
+ if countz + counto + counts==5:
10
10
  #print("l:",l, "value:", rat_lav[84-k][0], "k:", k, "test.i:", i)
11
11
  className = {"0": "airplane",
12
12
  "1": "ferry",

10

訂正

2017/08/21 07:55

投稿

bof
bof

スコア18

title CHANGED
File without changes
body CHANGED
@@ -6,7 +6,7 @@
6
6
  if i==rat_lav[84-k][1] :
7
7
  l = rat_lav[84-k][2]
8
8
  #print("l:",l, "value:", rat_lav[84-k][0], "k:", k, "test.i:", i)
9
- if 4<countz + counto + counts <6:
9
+ if countz + counto + counts=5:
10
10
  #print("l:",l, "value:", rat_lav[84-k][0], "k:", k, "test.i:", i)
11
11
  className = {"0": "airplane",
12
12
  "1": "ferry",

9

現在動作中のコードに戻しました

2017/08/21 07:43

投稿

bof
bof

スコア18

title CHANGED
File without changes
body CHANGED
@@ -2,9 +2,12 @@
2
2
  ```ここに言語を入力
3
3
  for i, (classId, data_path) in enumerate(test_set):
4
4
  for k in range(84):
5
+ print("value:", rat_lav[84-k][0], "k:", k, "test.i:", i)
5
- if i==rat_lav[84-k][1] :
6
+ if i==rat_lav[84-k][1] :
6
7
  l = rat_lav[84-k][2]
8
+ #print("l:",l, "value:", rat_lav[84-k][0], "k:", k, "test.i:", i)
7
- if countz + counto + counts == 5:
9
+ if 4<countz + counto + counts <6:
10
+ #print("l:",l, "value:", rat_lav[84-k][0], "k:", k, "test.i:", i)
8
11
  className = {"0": "airplane",
9
12
  "1": "ferry",
10
13
  "2": "laptop"}
@@ -33,17 +36,13 @@
33
36
  #j=j+1
34
37
  countz = 0
35
38
  counto = 0
36
- counts = 0
39
+ counts = 0
37
- continue
38
40
  elif l<29:
39
41
  countz = countz + 1
40
42
  elif l<57:
41
43
  cuonto = counto + 1
42
44
  else:
43
45
  counts = counts + 1
44
-
45
-
46
-
47
46
  ```
48
47
 
49
48
  へたくそなコードですいません。

8

情報の訂正

2017/08/21 07:41

投稿

bof
bof

スコア18

title CHANGED
File without changes
body CHANGED
@@ -51,7 +51,7 @@
51
51
  ```ここに言語を入力
52
52
  for i in range(84):
53
53
  for k in range(84):
54
- if 条件式(i==a[84-k][1])
54
+ if i==a[84-k][1]:
55
55
  if 条件式
56
56
  ⓵表示するための式
57
57
  elif 条件式

7

情報の訂正

2017/08/21 07:15

投稿

bof
bof

スコア18

title CHANGED
File without changes
body CHANGED
@@ -61,11 +61,12 @@
61
61
  ```ここに言語を入力
62
62
  for( i; i<84; i++){
63
63
  for(k; k<84; k++){
64
- if 条件式(i==a[84-k][1])
64
+ if 条件式(i==a[84-k][1]){
65
- if 条件式
65
+ if 条件式 {
66
- ⓵表示するための式
66
+ } ⓵表示するための式
67
- else if 条件式
67
+ else if 条件式{
68
- else 条件式
68
+ }else 条件式{
69
+ }
69
70
  }
70
71
  }
71
72
  ```

6

情報の訂正

2017/08/21 07:10

投稿

bof
bof

スコア18

title CHANGED
File without changes
body CHANGED
@@ -59,8 +59,8 @@
59
59
  ```
60
60
  pythonで実現したいことをC++で表現した場合
61
61
  ```ここに言語を入力
62
- for( i, i<84){
62
+ for( i i<84; i++){
63
- for(k, k<84){
63
+ for(k; k<84; k++){
64
64
  if 条件式(i==a[84-k][1])
65
65
  if 条件式
66
66
  ⓵表示するための式

5

情報の訂正

2017/08/21 07:06

投稿

bof
bof

スコア18

title CHANGED
@@ -1,1 +1,1 @@
1
- for文作り方ついて
1
+ for文作り方ついて
body CHANGED
File without changes

4

情報の修正

2017/08/21 07:00

投稿

bof
bof

スコア18

title CHANGED
File without changes
body CHANGED
@@ -55,7 +55,18 @@
55
55
  if 条件式
56
56
  ⓵表示するための式
57
57
  elif 条件式
58
- else 条件式
58
+ else 条件式
59
-
60
59
  ```
60
+ pythonで実現したいことをC++で表現した場合
61
+ ```ここに言語を入力
62
+ for( i, i<84){
63
+ for(k, k<84){
64
+ if 条件式(i==a[84-k][1])
65
+ if 条件式
66
+ ⓵表示するための式
67
+ else if 条件式
68
+ else 条件式
69
+ }
70
+ }
71
+ ```
61
72
  上記のようなコードを書いて、(i=0,k=0)→(i=0,k=1)・・・(i=1,k=0)→(i=1,k=1)の順にループして、⓵を順に表示したいのですが,for i中のfor kのループが終わった後にfor i=i+1へのループに行かないのですが、どうしたらよいのでしょうか?

3

情報の訂正

2017/08/21 06:59

投稿

bof
bof

スコア18

title CHANGED
@@ -1,1 +1,1 @@
1
- for文のbreakについて
1
+ for文に作り方ついて
body CHANGED
@@ -58,4 +58,4 @@
58
58
  else 条件式
59
59
 
60
60
  ```
61
- 上記のようなコードを書いて、(i=0,k=0)→(i=0,k=1)・・・(i=1,k=0)→(i=1,k=0)の順にループして、⓵を順に表示したいのですが,i=0のループからi=1へのループに行かないのですが、どうしたらよいのでしょうか?
61
+ 上記のようなコードを書いて、(i=0,k=0)→(i=0,k=1)・・・(i=1,k=0)→(i=1,k=1)の順にループして、⓵を順に表示したいのですが,for ifor kのループが終わった後にfor i=i+1へのループに行かないのですが、どうしたらよいのでしょうか?

2

情報の訂正

2017/08/21 06:54

投稿

bof
bof

スコア18

title CHANGED
File without changes
body CHANGED
@@ -52,9 +52,9 @@
52
52
  for i in range(84):
53
53
  for k in range(84):
54
54
  if 条件式(i==a[84-k][1])
55
- if 条件式
55
+ if 条件式
56
- ⓵表示するための式
56
+ ⓵表示するための式
57
- elif 条件式
57
+ elif 条件式
58
58
  else 条件式
59
59
 
60
60
  ```

1

情報の詳細

2017/08/21 06:34

投稿

bof
bof

スコア18

title CHANGED
File without changes
body CHANGED
@@ -1,63 +1,61 @@
1
1
  ソースコード
2
2
  ```ここに言語を入力
3
3
  for i, (classId, data_path) in enumerate(test_set):
4
- for j in range(350):
5
- for k in range(350):
4
+ for k in range(84):
6
- countz = counto = counts = 0
7
- if rat_lav[350-k][1] == j:
5
+ if i==rat_lav[84-k][1] :
8
- l = rat_lav[350-j][2]
6
+ l = rat_lav[84-k][2]
9
- if countz + counto + counts == 5:
7
+ if countz + counto + counts == 5:
10
- break
8
+ className = {"0": "airplane",
11
- elif 0<l<293:
9
+ "1": "ferry",
10
+ "2": "laptop"}
12
- countz = countz + 1
11
+ actual = "???"
13
- elif l<321:
14
- cuonto = counto + 1
12
+ if countz > counto and countz > counts:
13
+ actual = className["0"]
14
+ print("countz:", countz, "counto:", counto, "counts:", counts)
15
+ elif countz < counto and counts < counto:
16
+ actual = className["1"]
17
+ print("countz:", countz, "counto:", counto, "counts:", counts)
15
18
  else:
16
- counts = counto + 1
19
+ actual = className["2"]
20
+ print("countz:", countz, "counto:", counto, "counts:", counts)
17
21
 
18
- # 結果表示
22
+ result = ""
23
+ if actual == "???":
19
- className = {"0": "airplane",
24
+ result = " => unknown."
25
+ elif className[classId] == actual:
26
+ result = " => success!!"
27
+ success = success + 1
28
+ else:
20
- "1": "ferry",
29
+ result = " => fail"
21
- "2": "laptop"}
30
+ fail = fail + 1
22
31
 
32
+ print("expected: ", className[classId], ", actual: ", actual, result)
33
+ #j=j+1
34
+ countz = 0
35
+ counto = 0
36
+ counts = 0
37
+ continue
38
+ elif l<29:
23
- actual = "???"
39
+ countz = countz + 1
40
+ elif l<57:
24
- if countz > counto and countz > counts:
41
+ cuonto = counto + 1
25
- actual = className["0"]
26
- elif countz < counto and counts < counto:
27
- actual = className["1"]
28
- else:
42
+ else:
29
- actual = className["2"]
43
+ counts = counts + 1
30
44
 
31
- result = ""
32
- if actual == "???":
33
- result = " => unknown."
34
- elif className[classId] == actual:
35
- result = " => success!!"
36
- success = success + 1
37
- else:
38
- result = " => fail"
39
- fail = fail + 1
40
45
 
41
- print("expected: ", className[classId], ", actual: ", actual, result)
42
- print("suceess percentage:", success/(success+fail))
43
46
 
47
+ ```
44
48
 
45
- ```iには画像が順番に入り,画像の数だけ
49
+ へたくそなコードですいません。
50
+ 要するに
46
51
  ```ここに言語を入力
52
+ for i in range(84):
53
+ for k in range(84):
47
- print("expected: ", className[classId], ", actual: ", actual, result)
54
+ if 条件式(i==a[84-k][1])
55
+ if 条件式
56
+ ⓵表示するための式
57
+ elif 条件式
58
+ else 条件式
59
+
48
60
  ```
49
- を表示したいのですが、
50
- ```ここに言語を入力
51
- if countz > counto and countz > counts:
52
- ```
53
- 以降のcountz,counto,countsは
54
- ```ここに言語を入力
55
- if countz + counto + counts == 5:
56
- break
57
- ```
58
- ごとに
59
- ```ここに言語を入力
60
- if countz > counto and countz > counts:
61
-
62
- ```
63
- 反映させたいです。どようfor文を書けばこれが成立するわかりません。お教えくださ
61
+ 上記のようなコードを書いて、(i=0,k=0)→(i=0,k=1)・・・(i=1,k=0)→(i=1,k=0)の順ループして、⓵を順に表示したいですが,i=0ループからi=1へのループのですが、どうしたらよいのでしょうか?