🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

2回答

2351閲覧

Python 多次元配列の面積を求める

spicyhot

総合スコア4

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/11/16 04:27

編集2019/11/16 06:53

●実現したいこと
面積が一番大きい長方形を求めてインデックスで返す
※リストの各要素は左側:短辺、右側:長辺です

python

1rects = [ 2  [2.5,1.7], 3  [0.8,3.5], 4  [4.1,1.1], 5  [0.5,5.5] 6] 7 8def get_largest_rect(rects): 9  result = [] 10  n = 1 11 for n in rects: 12 if n < rects[0] * rects[1]: 13 result.index_append(n) 14 else: 15 continue 16 return result 17 18get_largest_rect(rects)

●エラーメッセージ

python

1TypeError Traceback (most recent call last) 2<ipython-input-34-57b9b38764f8> in <module>() 3----> 1 get_largest_rect(rects) 4 5<ipython-input-33-a6bf82ea77d9> in get_largest_rect(rects) 6 9 n = 1 7 10 for n in rects: 8---> 11 if n < rects[0] * rects[1]: 9 12 result.index_append(n) 10 13 else: 11 12TypeError: can't multiply sequence by non-int of type 'list'

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

python

1d=np.array(rects) 2area=d[:,0]*d[:,1] 3max_id = area.argmax()

投稿2019/11/16 04:34

WathMorks

総合スコア1582

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

spicyhot

2019/11/16 06:41

コメントありがとうございます。ライブラリを使用せずに単純なコードのみで記載したく上記のように書き換えてみました。しかしまだエラーが出ます。
WathMorks

2019/11/16 12:42

d=[x[0] * x[1] for x in rects] d.index(max(d))
spicyhot

2019/11/17 09:07

せっかくご教授頂きましたが別の方法で解決しました。 本当にありがとうございました。
WathMorks

2019/11/17 15:16

それはよかったです。自力で解決できるに越したことはありません。
guest

0

面積ってのは短辺*長辺で求まります
まずは、各要素の面積をそれぞれ求めて出力するようなコードを書いてみましょう
書けたなら、そのコードを質問に追記しましょう。

# そーすれば、優しいおにーさん方がどーにかしてくれると思いますよ。

投稿2019/11/16 04:34

y_waiwai

総合スコア88038

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問