A + B = 8
B + D = 8
A + C = 13
C - D = 6
A、B、C、Dの値の見方は?Pythonでこの数学パズルを解く方法は?
私は、値が整数と正のだろうと想定し、これをしなかった:
a = range(0,14)
b = c = d = a
for i in a:
for x in b:
for y in c:
for z in d:
if (a[i] + b[x] == 8 and a[i] + c[y] == 13 and b[x] + d[z] == 8 and c[y]-d[z]==6):
print(a[i],b[x],c[y],d[z])
しかし、それは動作しません。それでも私は範囲をa = range(-100,100)
に広げます。 数式を手作業で(Googleのヘルプを使用して)解いた後、私はフロートが含まれていることを知っています。 A = 3.5
など
しかし、その後、Pythonでそれを解決する方法。
'i in list'を実行すると、' i'はインデックスではなくリストの要素を取得します。あなたは 'a [i]'をする必要はなく、 'i'を使うだけです。 – Barmar
結果が浮動する可能性がある場合は、検索するための無限の数が実際に存在するため、検索でそれを行うことはできません。あなたはそれを解決するためにロジックを使用する必要があります。 – Barmar
例えば、 'A + B = 8'と' B + D = 8'は 'A == D'を意味します。 – Barmar