2019-05-25に投稿

パパ活 Pythonで単語テストを作る

👧 ぱっぱ、私英単語の練習したい。

👨🏻 よっしゃ分かった。中1レベルで作ったるで。

👨🏻 けど、やっぱり問題作るの面倒くさいな。せや!Pythonにさせたろ!

Pythonで単語テストを作る

アプリの要件

👨🏻 要件としてはこんな感じになるな。

  • 英単語一覧を辞書型として格納
  • 問題をランダムに表示
  • ユーザーに文字列を入力させる
  • 判定

👨🏻 こんな感じの要件やろか?

👧 正解問題数を足す仕様も追加してパパ

👨🏻 鬼や。。ママに内緒で飴こうたるから勘弁して

👧 私をやすい女だと思わないでパパ

👨🏻 ひぃぃぃ

英単語一覧を辞書型として格納

👨🏻 とりあえずここからICOCA

👧 パパ、活字かつ関西人じゃないと分からないボケは良くないよ。

👨🏻 。。。

Pythonの辞書型の機能確認

👨🏻 まずは辞書型の確認や。辞書型データはこんな感じでアクセスできるねんな。。

dic = {"A" : 1, "B" : 2}
print(dic["B"])

👨🏻 単語テストやし日本語と英単語でセット作れば良さそうやな。

👧 ちなみに下のようにvalueから引っ張ってくることはできないわ。

dic = {"A" : "えー", "B" : "ビー"}
print(dic["えー"])

👧 この場合はリスト内包表記、および、for文で辞書のキーと値を取得するitems()メソッドを使うといいよ。

dic = {"A" : "えー", "B" : "ビー"}
keys = [k for k, v in dic.items() if v == 'えー']
print(keys)

👨🏻 なんでこんなん知ってるねん。

👨🏻 今回は、日本語出して英語を入力させるアプリにするつもりやからkey

👨🏻 辞書型に追加するにはupdate()を使うんやったな。。

d = {'りんご': 'apple', 'オレンジ': 'orange'}

d.update({'えんぴつ':'pencil'})
print(d)
#{'りんご': 'apple', 'オレンジ': 'orange', 'えんぴつ': 'pencil'}

辞書型データからランダムに要素を抽出する

👨🏻 要素をランダムに1つ取り出すのはrandom.choiceやったな。

import random
d = {'りんご': 'apple', 'オレンジ': 'orange'}

d.update({'えんぴつ':'pencil'})

val = random.choice(d)

👨🏻 あれ?エラーや。。

👧random.choice(list(d.items()))のように書かないとパパだめよ

👨🏻 もうコード娘書いてくれ。

import random
d = {'りんご': 'apple', 'オレンジ': 'orange'}

d.update({'えんぴつ':'pencil'})

jp, en = random.choice(list(d.items()))
print(jp)
print(en)

ユーザーに単語を入力させる

👨🏻 input()で入力できるようにするで

import random
d = {'りんご': 'apple', 'オレンジ': 'orange'}

d.update({'えんぴつ':'pencil'})

jp, en = random.choice(list(d.items()))

print("以下の英語のスペルを答えなさい")
print(jp)
ans=input()

正誤判定をifで実装

👨🏻ifでansとenが同じであることを条件にしたらええんやな?

👧パパ =ではなくて一致は==を使うわ

import random
d = {'りんご': 'apple', 'オレンジ': 'orange'}

d.update({'えんぴつ':'pencil'})

jp, en = random.choice(list(d.items()))

print("以下の英語のスペルを答えなさい")
print(jp)
ans=input()
if ans==en:
  print("正解")
else:
  print("間違い")

👨🏻よしできたでpythonで英語の学習も捗るな

👧パパ、ありがとう。だけど、辞書型データが全然足りないわ

👨🏻おおぅ

Originally published at www.coderecipe.org

view_list ワイと学ぶPython
第3回 seleniumを使ってtwitterにログインしてTweetする
第4回 パパ活Python 1桁の足し算全パターンを生成
第5回 パパ活Python 1桁の引き算全パターンを生成
第6回 パパ活 Pythonで単語テストを作る
第7回 PythonでFizzBuzzを作る

aocory

Crieitは個人で開発中です。 興味がある方は是非記事の投稿をお願いします! どんな軽い内容でも嬉しいです。
なぜCrieitを作ろうと思ったか

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください!

ボードとは?

関連記事

コメント