質問失礼します。


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

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

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2019/08/04 15:59:44
  • 終了:2019/08/11 16:00:06

ベストアンサー

id:rsc96074 No.1

rsc回答回数4430ベストアンサー獲得回数4142019/08/04 20:36:14

 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
他1件のコメントを見る
id:rsc96074

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

2019/08/06 17:36:19
id:qqqq0315

助かりました!
ありがとうございます。

2019/08/06 19:51:38

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません