前提・実現したいこと
「かけられる数」をキー、掛け算の結果最も大きな値を出す「かける数」を要素
として持つ辞書を作成しようとしています。
以下のような結果を出力したいです。
#1なら9、-4なら-2、7なら9、-2なら-4、5なら9、9なら7 result = {1:9, -4:-2, ....}
発生している問題・エラーメッセージ
現状問題になっているのは
①combinationsを用いることで-2*(-4)のような計算ができていない
②現在できていることから、実行したいことをするためにはどうしたらよいのかわからない
該当のソースコード
python
1from itertools import combinations 2data = [1, -4, 7, -2, 5, 9] 3ans = [] 4for x in combinations(data, 2): 5 ansNum = x[0] * x[1] 6 print(str(x[0]) + '*' + str(x[1]) + '=' + str(ansNum)) 7 ans.append(ansNum)
試したこと
掛け算の結果が最も大きくなる「かける数」をmax(data)を用いずに見つける方法は
以下のコードで可能でした。
python
1num = 2 2 3data = [4, 7, 2, 3, 9, 0, 8] 4result = [0] * 7 5 6for i in range(0,len(data),1): 7 ans = data[i] * num 8 result[i] = ans 9print(result) 10maxnum = max(result) 11print(maxnum) 12searchindex = result.index(maxnum) 13print(data[searchindex])
補足情報(FW/ツールのバージョンなど)
Python 3.6.3
Mac OS High Sierra
回答3件
あなたの回答
tips
プレビュー