Python でDIVE麻木コーチが3人の中から代表選手を選ぶ

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

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

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

麻木夏陽子コーチ役の馬場ふみかさんのファンなので、
このドラマ、井上さん演じる知季の視点で見たいです。
そうしたら何倍も楽しめそうです。
今まで、佐久本宝さん演じる陵くんの視点で見ていました。

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

公式サイト
公式アメブロ

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

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


この記事では、麻木コーチが坂井知季、富士谷要一、沖津飛沫の中から代表を選ぶプログラムを作りました。

昨日作った 飛び込みの点数を求める関数プログラム を再利用して今日は代表を選べるようにプログラムを改造します。

関数の外側で、3人の飛び込みの点数を格納する空のグローバルのリストを用意します。

sarray=[]*3

● 関数saiten(name)

この関数では知季、要一、飛沫の名前を引数に、3人に飛び込ませ、飛び込みの点数を算出して、グローバルな空リストに得点を追加させます。

print(“麻木コーチ:「”+name+”!! 飛び込みなさい!早く!!!」”)
print()
print(“バシャ〜〜〜〜〜〜ん。。。”+name+”は飛び込んだ。”)

飛び込みシーンを派手にしたり、ふみふみの麻木コーチのビシバシシーンをダイレクトに届くようにしました。

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

詳しくは 昨日のブログ にありますが、内包表記で7人の採点者の点数を乱数発生させ、2で掛けた数を整数にして2で割ることによって、0.5刻みで配列に格納しています。

print(name+”は【”+str(round(score,1))+”】点です。”)
sarray.append(round(score,1))

キャラクターの採点結果を表示して、空の得点リストに加えます。

● 関数asakijudge()

麻木コーチが3人の中から代表を選ぶ処理をまとめた関数です。

num=(sarray.index(max(sarray)))
if num==0:
name=”知季”
elif num==1:
name=”要一”
else:
name=”飛沫”
return name

グローバルのリストからmax関数で最高点を求め、index関数でその添字を求めて変数numに代入します。

その後分岐により、numの添字が0だったら知季、1だったら要一、それ以外だったら飛沫が代表に選ばれます。

では、プログラムを実行してみます。
実行結果です。

コードです。


import random

sarray=[]*3

print(“————————————————“)

def saiten(name):

#麻木コーチのコール
print() print(“麻木コーチ:「”+name+”!! 飛び込みなさい!早く!!!」”)

print()
print(“バシャ〜〜〜〜〜〜ん。。。”+name+”は飛び込んだ。”)
print()

#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(name+”は【”+str(round(score,1))+”】点です。”)
print()
sarray.append(round(score,1))

def asakijudge():
#print(max(sarray))
num=(sarray.index(max(sarray)))
if num==0:
name=”知季”
elif num==1:
name=”要一”
else:
name=”飛沫”
return name
saiten(“知季”)
saiten(“要一”)
saiten(“飛沫”)
猫#print(sarray)
print(“————————————————“)
name=asakijudge()
print(“麻木コーチ:次の代表は【”+name+”】ね!(ハート)厳しく鍛えるから覚悟しなさい!!!”)
print()

ご精読ありがとうございました。
愛しています(=^x^=)っm

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