Вы можете пропустить первое if
condition
, начав с i+1
в range
for j in range(i+1, n+1, 1):
# code here
Во-вторых, следует избегать вложенного условия if else
с elif
для чтения.
Код обновления должен выглядеть следующим образом:
mat = [[0] * n] * n
count = 0
for i in range(n,0,-1):
count += 1
for j in range(i + 1, n + 1, 1):
if getEnemyStatus(mat, i, j):
break
elif isEnemy(enemyDict, i, j):
setStatus(mat, i, j)
break
else:
count += 1
ПРИМЕЧАНИЕ : Кроме того, если вы можете установить статус setStatus
в вашем isEnemy function
, вы можете получить большекод уборщика:
mat = [[0] * n] * n
count = 0
for i in range(n,0,-1):
count += 1
for j in range(i + 1, n + 1, 1):
if getEnemyStatus(mat, i, j) or isEnemy(enemyDict, i, j):
break
count += 1