にしのクエスト2

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

20240615101703

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


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

この講座の目標は高校生が「共通テスト」ないしは「基本情報処理
技術者」でPythonライクな疑似言語に困らないレベルにすること。

もちろん、他の言語を学ばれた方にも「Python」に馴染んでいただ
けるような内容にできたらと考えています。

Python+VSCの組み合わせでやっています。環境設定は過去記事を
ご覧ください。



#図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],"名")

続きます!