人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

質問失礼します。

A=5点 B=3点 C=4点 D=2点

A+C=9
A+B=8
C+B=7
といったように、ランダムな組み合わせから、点数を算出し高い順にならべる
といった方法を取るプログラムがありましたら教えてください。

●質問者: qqqq0315
●カテゴリ:コンピュータ インターネット
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● rsc
ベストアンサー

Pythonですが、こんな感じでどうでしょうか。

import itertools

P = [5,3,4,2]
sums = []
for p in itertools.combinations(P,2):
 s = sum(p)
 sums.append([s,p])

sums.sort(reverse=True)

for t in sums:
 s,(a,b) = t
 print("%d + %d = %d"%(a,b,s))

●実行結果

5 + 4 = 9
5 + 3 = 8
5 + 2 = 7
3 + 4 = 7
4 + 2 = 6
3 + 2 = 5

qqqq0315さんのコメント
ありがとうございます。 結果の部分の5+4をA+C=9といった表記の仕方は可能でしょうか?

rscさんのコメント
こんな感じでどうでしょうか。 http://rsc.hatenablog.com/entry/2019/08/06/173143

qqqq0315さんのコメント
助かりました! ありがとうございます。

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ