Pythonで英単語テストver1.0 ソースコード付き

こんにちは。相城です。今回はpythonで英単語テストができたのでお披露目~。ネットと本で勉強しながら作りました。大げさなプログラムではないので、ソースコード眺めながら、解説してまいります。間違ってたらごめんなさい。初心者なので。。。

流れ的には、wordというリストをつくって、0から始まる偶数番目に日本語訳をそれと対になる英単語を入れてリストを作ります。それから0から始まる偶数番目の日本語を表示させます。そして、それと対になる奇数番目の英単語と入力した英単語が一致するかどうかを見ていくプログラムをつくります。以下は今回のリストです。

word = [
"少年", "boy",
"車", "car",
"母", "mother",
"弟", "brother",
"犬", "dog",
"猫", "cat",
"サッカー", "soccer",
"野球", "baseball",
"日本", "Japan",
"父", "father"
]

リストの偶数番目である日本語の部分をwordという箱(配列)に入れて、表示させています。count*2というのはcountの2倍で、偶数を意味します。またcountという変数の初期設定がcount=0になっています。これでwordというリストの中から0から始まる偶数番目だけが表示(print)されます。こんなところで偶数の文字式が出てきましたね。

tword = word[count*2]
print(tword)

日本語を表示させた後、inputwordで英単語の入力を促しています。if文で入力した英単語とwordのリストの奇数番目(今聞かれている偶数番目と対になる奇数番目。word[count*2+1])が一致するか調べています。今度は奇数の文字式。数学が役に立ってますね。

inputword = input('日本語に合う英単語を入力してください。⇒')
if inputword==word[count*2+1]:

この英単語テストのリストにはループ(繰り返し)はwhileループでcountが10未満の間で行われます。countは整数で今回はcountの最大値は9になります。つまり0~19の20個(10個の偶数と10個の奇数)の箱(配列)が用意されます。

while count<10:

入力した単語(inputword)と奇数番目の英単語(word[coun*2+1])が一致(==)したら’正解です。’を表示させ、そうでなければ(else)、不正解ですというメッセージと正解の答えを表示させます。そのループ(繰り返し)の中でcountが10と等しくなったら終了(break)し、まだcountが10になっていなければ、countに1をたして、リストの中の次の偶数番目(日本語)と奇数番目(英単語)の組に進むように指示しています。

    inputword = input('日本語に合う英単語を入力してください。⇒')
    if inputword==word[count*2+1]:
        print('正解です。')
        if count==10:
            break
        else:
            count = count+1
            continue
    else:
        print('不正解です。正解は%s'%(word[count*2+1]))
        if count==10:
            break
        else:
            count = count+1
            continue

以下が今回の実行画面とpythonのプログラムソースです。

pythonのソースコード englishtest.py

word = [
"少年", "boy",
"車", "car",
"母", "mother",
"弟", "brother",
"犬", "dog",
"猫", "cat",
"サッカー", "soccer",
"野球", "baseball",
"日本", "Japan",
"父", "father"
]
count = 0
while count<10:
    tword = word[count*2]
    print(tword)
    inputword = input('日本語に合う英単語を入力してください。⇒')
    if inputword==word[count*2+1]:
        print('正解です。')
        if count==10:
            break
        else:
            count = count+1
            continue
    else:
        print('不正解です。正解は%s'%(word[count*2+1]))
        if count==10:
            break
        else:
            count = count+1
            continue

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)