0
パターン認識装置を作っていて、非常に奇妙なエラーが発生しました。パターンが認識されると、["x", "x", "2"]
が出力され、i変数がt
に設定されます。私はプリントアウトしたときにでもPython変数が変わってしまいました
import random
def check_pattern(pattern, rule):
for i, RULE in enumerate(pattern):
if RULE != "x":
if rule[i] != RULE:
return False
return True
if __name__ == "__main__":
numbers = [002,212,212,432,132,142,322,992,972,692,942,472]
#numbers = [a.replace("\n", "") for a in numbers]
print("Finding pattern in {}".format(numbers))
patterns = []
possible = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "x"]
found = False
pattern = ["x", "x", "x"]
working = []
worked = []
for i, rule in enumerate(pattern):
for attemptRule in possible:
testRule = pattern
testRule[i] = str(attemptRule)
works = True
for num in numbers:
numList = [a for a in str(num)]
if check_pattern(testRule, numList):
pass
#print("Pattern {} works with {}".format(t, numList))
else:
works = False
#print("Pattern {} doesnt work with {}".format(t, numList))
if works:
# ____________________ IMPORTANT ______________________ #
if testRule != ['x', 'x', 'x']:
print(testRule)
worked = testRule
# ____________________ IMPORTANT ______________________ #
working.append(testRule)
#print("Pattern {} works".format(working))
print(worked)
(__________#重要_____________コードの一部は、#をマーク参照)、それは["x", "x", "x"]
を出力し、最後の行に感謝を働きました。
31行目:numList = [a for a num] TypeError: 'int'オブジェクトは反復可能ではありません –
これで、数値に対してstr()を呼び出し、1を "1"に変更します。投稿の更新、返信ありがとうございますが、私は何のエラーも受け取りません – XCode
コードを読むのが難しいですが、どうしたらいいですか?あなたは入力と期待される出力のいくつかの例を挙げることができますか? – fafl