質問編集履歴

2

コードを書き換えました。

2019/11/16 06:53

投稿

spicyhot
spicyhot

スコア4

test CHANGED
@@ -1 +1 @@
1
- Python 面積を求める
1
+ Python 多次元配列の面積を求める
test CHANGED
@@ -1,12 +1,12 @@
1
1
  ●実現したいこと
2
2
 
3
- 面積が一番大きい長方形を求めてインデックスで返したいで
3
+ 面積が一番大きい長方形を求めてインデックスで返す
4
4
 
5
5
  ※リストの各要素は左側:短辺、右側:長辺です
6
6
 
7
7
 
8
8
 
9
- ●コード
9
+ ```python
10
10
 
11
11
  rects = [
12
12
 
@@ -44,11 +44,13 @@
44
44
 
45
45
  get_largest_rect(rects)
46
46
 
47
+ ```
48
+
47
49
 
48
50
 
49
51
  ●エラーメッセージ
50
52
 
51
- ---------------------------------------------------------------------------
53
+ ```python
52
54
 
53
55
  TypeError Traceback (most recent call last)
54
56
 
@@ -73,3 +75,7 @@
73
75
 
74
76
 
75
77
  TypeError: can't multiply sequence by non-int of type 'list'
78
+
79
+ ```
80
+
81
+ ---------------------------------------------------------------------------

1

コードを書き換えました。

2019/11/16 06:52

投稿

spicyhot
spicyhot

スコア4

test CHANGED
File without changes
test CHANGED
@@ -1,8 +1,12 @@
1
+ ●実現したいこと
2
+
1
3
  面積が一番大きい長方形を求めてインデックスで返したいです。
2
4
 
3
5
  ※リストの各要素は左側:短辺、右側:長辺です
4
6
 
5
7
 
8
+
9
+ ●コード
6
10
 
7
11
  rects = [
8
12
 
@@ -20,26 +24,52 @@
20
24
 
21
25
  def get_largest_rect(rects):
22
26
 
23
-  result = []
27
+   result = []
24
28
 
25
-   for n in rects:
29
+   n = 1
26
30
 
27
-    if n > maxrect:
31
+ for n in rects:
28
32
 
29
-      maxrect = n
33
+ if n < rects[0] * rects[1]:
30
34
 
31
-    result.max_index()
35
+ result.index_append(n)
36
+
37
+ else:
38
+
39
+ continue
40
+
41
+ return result
32
42
 
33
43
 
34
44
 
35
- 途中までコードを書いてみましたが、
45
+ get_largest_rect(rects)
36
46
 
37
47
 
38
48
 
39
- ・リストで面積を求める
49
+ ●エラーメッセージ
40
50
 
51
+ ---------------------------------------------------------------------------
52
+
53
+ TypeError Traceback (most recent call last)
54
+
55
+ <ipython-input-34-57b9b38764f8> in <module>()
56
+
41
- ・最大値をインデックスで返す
57
+ ----> 1 get_largest_rect(rects)
42
58
 
43
59
 
44
60
 
61
+ <ipython-input-33-a6bf82ea77d9> in get_largest_rect(rects)
62
+
45
- 方法が分かりません。
63
+ 9 n = 1
64
+
65
+ 10 for n in rects:
66
+
67
+ ---> 11 if n < rects[0] * rects[1]:
68
+
69
+ 12 result.index_append(n)
70
+
71
+ 13 else:
72
+
73
+
74
+
75
+ TypeError: can't multiply sequence by non-int of type 'list'