Pythonで単語帳作ってみた Part1

 ブログ初心者のにわこまです。pythonの基礎勉強が終わって何か作れないかなと思っていいたときに、ちょうど英語を勉強していたので単語帳をつくることにしてみました。

 文章表現や内容に不備があるかもしれませんが、最後まで読んでいただけるとありがたいです。

 単語帳の仕組みを改めて考えてみると意外と簡単です。pythonで作れるものがあったらどんどん作ってみましょう。

実践は最も効率の良い勉強であると思っています。

スポンサードサーチ


Pythonで単語帳作ってみた

 まず、pythonで作られているもの、作れるものは、何かについて理解しなければなりません。

 pythonで作られているものは、YouTube,DropBox,Blenderなどがあります。

 pythonで作れるものは、Webアプリケーション、機械学習、ビックデータの解析、デスクトップアプリケーション、組み込みアプリケーションなどがあります。

でも

 こんなに大がかりのものは、一人で作るには膨大な時間と労力とコードを書くことになります。

 pythonで作れて、基礎の勉強を終わったくらいのスキルで作れるものはないかなと考えて、思いついたのが単語帳でした。

 単語帳を作るには機能や仕組みを理解しなくてはいけません。理解した上でその機能や仕組みをどのようにつくるか決めなくてはいけません。

じゃあ、単語帳の仕組みってどんなの?私は次のように考えました。

1.英単語の登録

2.日本語訳の登録

3.問題が日本語訳で出てくる

4.英単語で解答する

5a.正解したら次の問題へ(3に戻る)

5b.不正解だったら解きなおし(4に戻る)

5c.分からなかったら、強制的に次の問題へ移るための文字を入力(3へ移る)

6.全て解き終わったら終了

では実際に、私がつくったコードを見ていきましょう

ソースコードの説明

まずは、文で説明していきます。

1.と2.はリストで表現できるので、リストで作成していきます。

3.は問題文を日本語訳のリストから出題されるように設定していきます。

4.はキーボードから入力出来るように作成します。

5.はif,elif,elseで条件分岐出来るように作成していきます。

6.は問題数と正解数を比較して終了するように作成していきます。 実際にコードを見ていきましょう。

次にコードを見ていきましょう。

1.と2.

eng = ["python", "javascript", "swift", "java", "PHP"]
ja = ["パイソン", "ジャバスクリプト", "スイフト", "ジャバ", "ピーエイチピー"]

3.

count = 0
while(count < len(eng)):
    word_ja = ja[count]
    word_eng = eng[count]
    print(word_ja)

4.

ans = input()

後で正解と比較するのでansに解答を代入しておきます。

5.

if(ans == word_eng):
        print("正解")
        count = count + 1
    elif(ans != word_eng):
        if(ans == "not"):
            print("次の問題に移ります。")
            count = count + 1
        else:
            print("不正解")
    else:
        print("強制終了します。")
        break

6.はwhile文で制御しているので気にしなくてよいです。

少し手を加えて完成したのが次のコードです。↓↓↓

eng = ["python", "javascript", "swift", "java", "PHP"]
ja = ["パイソン", "ジャバスクリプト", "スイフト", "ジャバ", "ピーエイチピー"]

print("分からない場合は「not」と打ち込んでください")
count = 0
while(count < len(eng)):
    word_ja = ja[count]
    word_eng = eng[count]
    print(word_ja)

    ans = input()

    if(ans == word_eng):
        print("正解")
        count = count + 1
    elif(ans != word_eng):
        if(ans == "not"):
            print("次の問題に移ります。")
            count = count + 1
        else:
            print("不正解")
    else:
        print("強制終了します。")
        break
    #見やすくするための一行空欄
    print("")

print("単語帳を終了します。")

スポンサードサーチ


実践が最効率勉強

いかがだったでしょうか?

 私が作ったこの単語帳はまだまだ、改良の余地があります。例えば、出題方式をランダムにしてみるとか、3回以上間違えたらもう一度出題するとか、単語や日本語訳をcsvファイルから読み込めるようにするとか、考えたらいっぱいあります。

 皆さんも、自分に作れるようなものを見つけて作ってみてください。完成したらtwitterなどにのせて評価してもらいましょう。

 自分では気が付かなかったことに気がつくでしょう。そうすることで、さらにスキルアップすることが出来ます。

 実践が最効率の勉強法です。 ゲームを作ってみたいという方には、「ゲームを作りながら楽しく学べるPythonプログラミング」をおすすめです。

 pygameというモジュールを使って作っています。テトリスやシューティングゲームが作れるので楽しいし、勉強になると思います。


スポンサードサーチ