アプリ版:「スタンプのみでお礼する」機能のリリースについて

現在、私は仲間内で行っている麻雀の成績をエクセルで集計しております。
エクセルの表計算機能を用いれば、順位や平均ptなどの指標を計算・表示できるのですが、さらに複雑な指標を出そうとすると、さすがに関数が複雑になりすぎてしまいます。

そこで、プログラミングを用いて様々な指標を計算したいと思っています。
この場合、毎週増えていく成績をどのようにプログラム内に蓄積していくのがスマートなやり方なのでしょうか。

僕が思いついたものとしては、とあるフォルダ直下に各週の成績を記入したテキストファイルを保管していき、プログラムを走らせるたびにそれらを全部読み込んでいく手法です。

例)20220108.txt
Aさん/Bさん/Cさん/Dさん
60/3/-20/-43
-25/-10/30/5
4/50/-33/-21


こういうファイルがたくさん保管されていきます。
各ファイルを読み込んでいけば、これまでの成績が集計されて、指標などが計算できるというわけです。

しかしこの方法だと、毎回最初からの記録を読む必要があるので、その点がスマートではないと感じました。

より良い方法がありますでしょうか。
教えていただけると幸いです。よろしくお願いします。

質問者からの補足コメント

  • Pythonを想定しておりました。基本的な操作(リストや入出力)はできます。

    No.3の回答に寄せられた補足コメントです。 補足日時:2022/01/09 16:09
  • どう思う?

    回答ありがとうございます。
    初歩的な質問で恐縮なのですが、Accessなどでデータベースを作成したあと、結局、点数から順位を出したり、連続トップ回数などを算出したりするときに、プログラミングでリストに格納しますよね?
    (すべてをクエリで処理できるとは思えないので)

    となると、プログラムの最初にとりあえずデータベースに読みにいって、値を取得し、そのあと諸々の処理をしていく、というのが普通でしょうか?

    No.2の回答に寄せられた補足コメントです。 補足日時:2022/01/09 16:13

A 回答 (4件)

テキストファイルで管理するくらいならAccessを用いて作成しても宜しいのでは?


VBAもありますけどクエリによる集計で収まるかもしれないですし。
麻雀はした事ないですけどね。

データ量として大きくなるなら、VisualStudioのVBやVC#などでSQLServerに接続してって事もありますけどちょっと敷居が上がりますかね。

データベースならファイルを分ける手間もありませんし〔テーブルが分かれるかは何を作るかで決まりますけど〕、ファイルを起動した際には準備が整ってて後はどんな情報が欲しいか指示すればデータを集め加工も出来るでしょう。
スキルアップしていければと言う条件はありますが。
この回答への補足あり
    • good
    • 0

No.2の補足について。



>結局、点数から順位を出したり、連続トップ回数などを算出したりするときに、プログラミングでリストに格納しますよね?

よね?と言われましても質問者さんが何を求めての事なのかは、麻雀をしない私には不明ですが、どこからリストが出てきたのでしょう?
データベースには抽出したい条件を送り込み、それにヒットしたデータを抽出するって感じです。
その過程において計算が必要ならクエリで関数を使ったり、VBAでユーザー定義関数を作成しておくなどはありますよ。

Pythonをご希望であればそれで宜しいのでは?
私は複数のテキストファイルを弄るのであれば(日付順に読み込むなど)、データベース化された方が楽じゃないかなってだけの事です。

>しかしこの方法だと、毎回最初からの記録を読む必要があるので、その点がスマートではないと感じました。

この部分を重視してです。
    • good
    • 0
この回答へのお礼

なるほど。ありがとうございました。
ポイントが掴めました。まずは手を動かしてみます。

お礼日時:2022/01/09 20:20

プログラミングで想定している言語は何でしょうか。

又、その言語についての習熟度はどの程度でしょうか。それが、判れば良い回答がつくかと思います。
この回答への補足あり
    • good
    • 0

こんばんは。



現状、Excelで計算されているとの事ですよね。
プログラムを用いてとの事ですので、Excelの機能の1つである、VBAで
算出されるのは?と思いました。

計算部分のプログラムが見付かりませんが、VBAで下記の様なゲームと
しては見付かりますね。

https://excel-ubara.com/excelvba5/EXCELVBA286.html
http://home.att.ne.jp/zeta/gen/celljong/index.htm
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!