- M = 'M'
- field = [[0,0,0,0,0,0,0,0,0,0],\
- [0,0,0,0,M,M,0,0,0,0],\
- [0,0,0,0,M,0,0,0,0,0],\
- [0,0,0,0,M,M,0,0,0,0],\
- [0,0,M,0,0,0,0,0,0,0],\
- [0,0,M,0,0,0,0,0,0,0],\
- [0,0,0,0,0,0,0,0,0,0],\
- [0,0,0,0,M,M,0,0,0,0],\
- [0,M,0,0,0,0,M,0,0,0],\
- [M,0,0,0,0,0,0,0,0,0],\
- ]
- field2 = field
- #方法一
- print('-'*10+'1'+'-'*10)
- def scan1(i,j,field):
- boom = 0
- for x in (i-1, i, i+1):
- if x >=0 and x <=9:
- for y in (j-1, j, j+1):
- if y>=0 and y<=9:
- if field[x][y] == 'M':
- boom += 1
- return boom
- result = [scan1(i,j,field) if field[i][j] != 'M' else 'M' for i in range(10) for j in range(10) ]
- count = 0
- for each in result:
- print(each, end = ' ')
- count+=1
- if count%10 == 0:
- print()
- #方法二
- print('-'*10+'2'+'-'*10)
- def plusone(i, j, field):
- try:
- for x in (i-1, i, i+1):
- for y in (j-1, j, j+1):
- field[x][y] += 1
- except:
- pass
- def scan2(field):
- for i in range(10):
- for j in range(10):
- if field[i][j] == 'M':
- plusone(i, j ,field)
- scan2(field2)
- for each in field2:
- print(each)
复制代码
- ----------1----------
- 0 0 0 1 2 2 1 0 0 0
- 0 0 0 2 M M 1 0 0 0
- 0 0 0 3 M 5 2 0 0 0
- 0 1 1 3 M M 1 0 0 0
- 0 2 M 3 2 2 1 0 0 0
- 0 2 M 2 0 0 0 0 0 0
- 0 1 1 2 2 2 1 0 0 0
- 1 1 1 1 M M 2 1 0 0
- 2 M 1 1 2 3 M 1 0 0
- M 2 1 0 0 1 1 1 0 0
- ----------2----------
- [0, 0, 0, 1, 2, 2, 1, 0, 0, 0]
- [0, 0, 0, 2, 'M', 'M', 0, 0, 0, 0]
- [0, 0, 0, 1, 'M', 0, 0, 0, 0, 0]
- [0, 1, 1, 1, 'M', 'M', 0, 0, 0, 0]
- [0, 2, 'M', 0, 0, 0, 0, 0, 0, 0]
- [0, 0, 'M', 0, 0, 0, 0, 0, 0, 0]
- [0, 0, 0, 1, 2, 2, 1, 0, 0, 0]
- [1, 1, 1, 1, 'M', 'M', 0, 0, 0, 0]
- [2, 'M', 0, 0, 0, 0, 'M', 0, 0, 1]
- ['M', 0, 0, 0, 0, 0, 0, 0, 0, 0]
复制代码 |