バーチャルにクイズ大会「abc」を再現できるPython3向けツールです。
本家のクイズ大会「abc」: http://abc-dive.com/
python .\vbc.py
とするとファイルダイアログが開きますので、sample_data.csv
の形式で用意したデータを入力します。
すると、vbc_log.txt
およびvbc_log_for_excel.csv
が生成されます。
vbc_log.txt
には1問ごとの正誤など詳細な情報が記録されています。読み物としてお使いください。
vbc_log_for_excel.csv
は、vbc_data_sample.xlsx
にインポートすることで、大会結果を見やすく表示するためのデータです。
sample_data.csv
は以下のようになっています。
1,あ,7,7,1,2,3,4
2,い,7,7,1,2,3,4
3,う,7,7,1,2,3,4
……
abcにおける1Rペーパークイズの結果に相当する上位49名を49行に入力してください。
各行は順位、名前、知識量、早押し力、10○10×のコース希望、Swedish 10のコース希望、10 by 10のコース希望、10 up-downのコース希望となっています。
- 知識量は、早押しで解答権を得たとき、正解を導き出せる確率に大きく関わります。他人より早くボタンを押す確率にも多少関わります。また、敗者復活1st stepでの正解確率に関わります。
- 早押し力は、他人より早くボタンを押す確率に大きく関わります。解答権を得たとき、正解を導き出せる確率にも多少関わります。敗者復活1st stepでの正解確率には関係しません。
- 知識量、早押し力ともに0以上の実数で設定してください。5~9あたりで設定するとだいたいうまくいきます。5だとかなり弱く、9だとかなり強くなります。
- 各コース希望の仕様は、次のようになっています。
- 各コースの数値は、0以上の実数で設定してください。
- 0からそのコースの値までの乱数を各コースについてとります。例えば10○10×の数値が1ならば、0から1までの乱数をとります。
- 4コースについて乱数をとったのち、小さい順に並べたものがその人のコース希望となります。数値を小さくするほど希望順位が高くなる確率が上がります。
- コース選択においては、まだ組分けされていないコースのうち、各人にとって希望順位が最高のコースが選ばれたら、コース出場を希望します。
vbc_data_sample.xlsx
にインポートして使います。
vbc_data_sample.xlsx
には、vbc_sample
と参加者データ
の2つのシートがサンプルとして置いてあります。
まず、新しいシートを作り、データ
→外部データの取り込み
からvbc_log_for_excel.csv
をカンマ区切りデータとしてインポートします。A1セルを左上端としてください。
そして、シートvbc_sample
のAH3セルの文字列を「参加者データ」から新しいシートの名前に変えると、vbc_log_for_excel.csv
のデータに沿った表示が得られます。
残った参加者データ
のシートおよび、インポートし終わったvbc_log_for_excel.csv
は削除してもかまいません。