回答のチェック処理

 Wordleみたいにするのであれば

1.ひらがなで回答してもらう

2.文字ごとの正誤判定

3.結果を返す

という流れが必要


回答は



で、特に問題ないだろう

市か町か村がわからないと難しすぎるかと思い表記しておく


文字後の正誤判定はいまいちな処理にはなるが

答えと入力されたものをそれぞれ文字ごとの配列にして

比較する方法とする


答えを「kotae_dict」に格納

kotae_dict = {} 
index = 1
for str in kotae:
    kotae_dict[index] = str
   index += 1

入力された回答を「answer_dict」に格納

answer_dict = {}
index = 1
for ans in answer:
    answer_dict[index] = {"moji":ans}
    index += 1


入力された回答の文字が答えに使われているかを先にチェック

for key in answer_dict:
  dic = answer_dict[key]
   if hiragana.count(dic["moji"]) > 0:
       dic["class"] = "use"
    else:
        dic["class"] = "notuse"
    answer_dict[key] = dic

まず、どこかに使われている文字なら「use」のフラグを立てて

どこにも使われていない文字なら「notuse」のフラグを立てる


次に場所の一致をチェック

for key in answer_dict:
    dic = answer_dict[key]
    if len(hiragana_dict) >= key:
        if dic["moji"] == hiragana_dict[key]:
            dic["class"] = "correct"
           
    answer_dict[key] = dic

同じ場所に同じ文字が来たら「correct」のフラグを立てる


それっぽくなった!







同じ文字を複数回入力されている場合の判定の甘さ

 →答えが「おおさか」の場合に「おおおお」と入力したら

  後ろの2つの「お」はどうするべきか?

  「お」は2個当たってるから間違い?使ってる文字判定?

  判断難しい


文字数制限はやっていない

 →答えの文字数に合わせることはしていない

  文字数がヒントというより答えになる場合もあるため (「津」)

  無制限に入力できるものもおかしいので最大名称の10文字にだけ制限


このへんはしょうがないかな


コメント

このブログの人気の投稿

.NET MAUI アプリで Xamarin パッケージが見つかりませんエラー問題

.NET MAUI を使ってAndroidアプリの作成

Android エミュレーター 遅すぎ問題