Добрый день. Кто объяснит. Есть код приведенный ниже, при идентичных введенных данных может работать, а может висеть и ничего не делать. Как исправить?
import random
n, m, k = (int(i) for i in input().split())
a = [[0 for j in range(m)] for i in range(n)]
qwe = [b for b in range(n-1)]
qwer = [b for b in range(m-1)]
rand = []
count = 0
while len(rand)<k:
while count != k:
for i in range(k):
row = random.choice(qwe)
col = random.choice(qwer)
a[row][col] = -1
row = str(row)
col = str(col)
if (row+col) not in rand:
rand += [row+col]
count += 1
print(a)
print(rand)
lenrand = rand[0]
for i in range(n):
for j in range(m):
if a[i][j] == 0:
for di in range(-1, 2):
for dj in range(-1, 2):
ai = i + di
aj = j + dj
if 0 <= ai < n and 0 <= aj < m and a[ai][aj] == -1:
a[i][j] += 1
for i in range(n):
for j in range(m):
if a[i][j] == -1:
print('*', end='')
elif a[i][j] == 0:
print('.', end='')
else:
print(a[i][j], end='')
print()