私は、与えられた文字列で作ることができるすべての単語を選択しようとしている英語の単語のリストを含むテーブルを持っています"hand"
(ゲームスクラブルのように)任意の順序でサブセット文字を含む行を選択
+--------+
| word |
+--------+
| test |
| father |
| woman |
| zebra |
+--------+
これまでの質問では、手の中の文字が単語に存在するかどうかだけを確認します。
SELECT * FROM words WHERE word SIMILAR to '%e%|%z%|%h%';
/* returns test, father and zebra as they all contain either e,z or h */
しかし、これは言葉を文字に手がよりも多くの時間、私は言葉が有効
def isValidWord(word, hand):
"""Return true or false can the word be made using the characters in the hand"""
for i in word: # for each character in word
if hand.count(i)<word.count(i): # is the character in the hand enough times
return False
return True # if every character in the word is present in the hand
私の質問であるかどうかを確認するためにpythonで使用していたコードが含まれているかどうかを考慮していません単語の各文字をチェックし、その文字の出現回数が文字列の出現回数よりも大きくないようにするクエリを作成するにはどうすればよいですか? これはデータベースの仕事ではありませんか?
ありがとうございます。
これは完全に率直であるために、(リレーショナル)データベースの仕事ではありません。 –
私はそれが事実かもしれないと思った、私はPostgreSQLを初めて使い慣れたアプローチがあるかどうか分かりません。 –