Pythonで採点。ドラマDIVE!!で水泳飛び込み競技の採点をしてみた

Python自作サンプル集へ
これからプログラミングを始める方へ
メインメニューに戻る
息抜きに、写真で癒し(=^・^=)

Pythonの進捗状況(私のロードマップ)

水泳の飛び込みの青春ドラマでHiHiJetの井上瑞稀さん、作間龍斗さん、高橋優斗さんのトリプル主演のドラマが人気ですね。

DIVEの相関図です。
この相関図は公式なものではなく、私がパソコンを買い換えたことをきっかけに作ってみた私的な作品です。

公式サイト
公式アメブロ

私が好きなのは「かよぽん」こと、麻木夏陽子コーチ役の馬場ふみかさんです。

チョコランマ級に大好きな、ふみふみ(=馬場さん)の色気が目の保養です(=^x^=)

このドラマの感想(ネタバレ含む)はアメブロのこちらに書きました。

放送前
第2話
第3話
第4話

この記事では飛び込みの点数を求めて、その点数によって麻木コーチのコメントが変わるプログラムをPythonで作ってみました。

飛び込みの採点は、ざっくり言って、7人の採点者が0から10点までを0.5点刻みで採点して、上から2つ、下から2つを除いた真ん中の3つの点数の平均点を使って行います。

その得点に難易率というものをかけるのらしいのですが、私には良く分からないので、難易率は除いて、7人の採点者の付けた点数の真ん中3つの平均を求める所までで、計算をしてみたいと思います。

乱数を生成して、ランダムな点数を配列に入れ、その配列を並び替えてループで真ん中の点数を取り出して合計して、平均を出します。

2つの関数を作りました。

・競技の点数を求めるsaiten
・麻木コーチのコメントを点数によって分岐させるasakicomment

この関数をメインから呼び出して実行させています。

Pythonの関数について学び始めた者がうにゃうにゃ作っているので、温かい目で見て下さい(=^x^=)

7人の採点結果を乱数で求めて配列に入れる所です。

まず、採点に使う関数saitenです。

7人の採点者の点数を0.5刻みで0〜10.0まで乱数を発生させる
array=[int(round(random.uniform(0.0,10.5),1)*2)/2 for i in range(7)]

リストに乱数を格納している、内包表記という書き方ですね。
2でかけて整数にして2で割ることによって、0.5刻みの点数を実行しています。

7人の採点者が付けた点数を表示しています。
print(array)

真ん中の3つの点数を合計するのに並び替えます。
array=sorted(array)
print(array)

配列は0から始まり、最後は6です。
0と1、5と6を除いた、2、3、4の範囲の合計を求めます。
score=0
for i in range(7):
if i>=2 and i<=4:
score+=array[i]

その合計を3で割って、小数点1桁までを求めてメインに戻り値として返します。
score/=3
print(round(score,1))
return score

では次に、麻木コーチのコメント、asakicommentを見ていきます。

このプログラムでも、麻木コーチのコメントを厳しめ、辛めに作ってあります。

if score<5.0:
    comment="辞めるの?"

5点未満だった時のコメントです。
実行結果です。

elif score<7.0:
    comment="覚悟しなさい"

7点未満だった時のコメントです。
実行結果です。

elif score<8.0:
    comment="やるじゃない。"

8点未満だった時のコメントです。
実行結果です。

else:
    comment="さすがね(ハート)あなたしかない武器がある!!"

それ以上のコメントです。
麻木コーチに褒められちゃった(=^x^=)

では、プログラミングのコードです。

import random

def saiten():
#7人の採点者の点数を0.5刻みで0〜10.0まで乱数を発生させる
array=[int(round(random.uniform(0.0,10.5),1)*2)/2 for i in range(7)]

#7人の採点結果
print(array)

#採点結果を並び替え
array=sorted(array)
print(array)

#上位2つと下位2つを除いた残り3つの得点の平均を求める
score=0
for i in range(7):
if i>=2 and i<=4:
score+=array[i]
score/=3

print(round(score,1))
return score

def asakicomment(score):

if score<5.0:
comment=”辞めるの?”

elif score<7.0:
comment=”覚悟しなさい”

elif score<8.0:
comment=”やるじゃない。”

else:
comment=”さすがね(ハート)あなたしかない武器がある!!”
print(comment)

score=saiten()
asakicomment(score)

最後まで読んで下さって、ありがとうございました。
愛しています(=^x^=)

このプログラムを利用して、麻木コーチが3人の中から代表を選ぶプログラムも作りました。

Python自作サンプル集へ
これからプログラミングを始める方へ
メインメニューに戻る
息抜きに、写真で癒し(=^・^=)