Ich habe es früher gepostet, aber es ist möglich, dass der Link nicht den Regeln entsprach. Deshalb habe ich ihn gelöscht und erneut veröffentlicht. Ich habe auch versucht, den hervorgehobenen Punkt zu korrigieren. Beim letzten Mal habe ich es durch die Verwendung von 3 while-Anweisungen realisiert, aber ich habe es in eine for-Anweisung geändert. Ich habe den Rat erhalten, .numpy zu verwenden, daher möchte ich das verstehen und ausprobieren.
target1 = [[1,2,3],
[2,3,1],
[3,1,2]]
target2 = [[1,1,1],
[2,2,2],
[3,3,3]]
target3 = [[1,2,3],
[2,3,1],
[1,3,2]]
target4 = [[1,2,3,4,5],
[2,3,4,5,1],
[3,4,5,1,2],
[4,5,1,2,3],
[5,1,2,3,4]]
def check(target):
n = len(target)
digit = 1
for i in range(0, n): #Die Anzahl der Elemente beträgt 3, dh 0 bis 3, dh 0.,1,2
row_count = 0
col_count = 0
for j in range(0, n):
if target[i][j] == digit:
row_count += 1
if target[j][i] == digit:
col_count += 1
if row_count != 1 or col_count != 1:
return False
digit += 1
return True
def test():
print('Bei einigen deutschen Formen')
assert check(target1) == True
print('Wenn der Inhalt der Liste alle dieselbe Nummer hat')
assert check(target2) == False
print('Wenn nur die letzte Liste die Kriterien nicht erfüllt')
assert check(target3) == False
print('Normales System bei 5 × 5')
assert check(target4) == True
print('test ok')
test()
Recommended Posts