にしのクエスト2

情報処理技術者試験と資格学校講師の日常

20210620102927

pythonで学ぶ超初心者プログラミング (27)共通テスト試作問題のプログラム その2

プログラミング超初心者向けの連載です。

目標は高校生が「共通テスト」ないしは「基本情報処理技術者」
でPythonライクな疑似言語に困らないレベルにすることです。
少しずつ進みつつ、超簡単に説明していく所存でございます。

ぜひ、エディタ片手に実行しながらお読みくださいませ。

セットアップの記事はこちらです。

www.nsnq.tech

 



#図10

#ライブラリのインポート

import math

#政党名の配列

Tomei=["A党","B党","C党","D党"]

#得票数の配列

Tokuhyo=[1200,660,1440,180]

#各政党の当選者の配列

Tosen=[0,0,0,0]

#当選回数

tosenkai=0

#比較の配列

Hikaku=[0,0,0,0]

#議席数

giseki=6

#比較の配列に得票を移す

for m in range(0,4,1):

    Hikaku[m]=Tokuhyo[m]

#当選回数が議席になるまで繰り返す

while tosenkai<giseki:

    max=0

    #最大値とそのインデックスを求める

    for i in range(0,4,1):   

        if max<Hikaku[i]:

            max=Hikaku[i]

            maxi=i

    #最大値のある場所に当選数1を加える

    Tosen[maxi]=Tosen[maxi]+1

    #当選回数を1増やす

    tosenkai=tosenkai+1

    #得票を当選+1で割った票を比較[maxi]に格納する

    Hikaku[maxi]=math.floor(Tokuhyo[maxi]/Tosen[maxi]+1)

#政党分表示する

for k in range(0,4,1):

    print(Tomei[k],":",Tosen[k],"名")

続きます!