回答のチェック処理
Wordleみたいにするのであれば
1.ひらがなで回答してもらう
2.文字ごとの正誤判定
3.結果を返す
という流れが必要
回答は
で、特に問題ないだろう
市か町か村がわからないと難しすぎるかと思い表記しておく
文字後の正誤判定はいまいちな処理にはなるが
答えと入力されたものをそれぞれ文字ごとの配列にして
比較する方法とする
答えを「kotae_dict」に格納
kotae_dict = {}index = 1for str in kotae:kotae_dict[index] = strindex += 1
入力された回答を「answer_dict」に格納
answer_dict = {}index = 1for 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文字にだけ制限
このへんはしょうがないかな
コメント
コメントを投稿