五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動態(tài)

Python生成掃雷地圖的方法

發(fā)布日期:2022-01-01 07:49 | 文章來源:CSDN

本文實例為大家分享了Python生成掃雷地圖的具體代碼,供大家參考,具體內(nèi)容如下

需求說明

輸入:行數(shù)m、列數(shù)n、地雷數(shù)k
輸出:隨機(jī)掃雷地圖

第一步,生成地圖和隨機(jī)地雷
第二步,沒有地雷的格子填充數(shù)字,該數(shù)字表示周邊地雷總數(shù)

思路

代碼實現(xiàn)

下面2種實現(xiàn),分別是不用numpy和用numpy,思路是一樣的

from random import shuffle
# 行數(shù)、列數(shù)、地雷數(shù)
m, n, k = 5, 10, 15
# 地雷符號,此處用9表示
landmine = 9
# 初始化序列,總長為m*n,k前是雷,k后是0
ls = [landmine for _ in range(k)] + [0 for _ in range(m * n - k)]
# 打亂序列順序,達(dá)到隨機(jī)的效果
shuffle(ls)
# m*n的序列=>m行n列的矩陣
matrix = [[ls[i + j * n] for i in range(n)] for j in range(m)]
# 對沒有雷的格子填充數(shù)字,該數(shù)字表示周圍地雷總數(shù),注意邊緣格子,不要越界
for i in range(m):
 for j in range(n):
  if matrix[i][j] == 0:
matrix[i][j] = sum(
 1 for a in range(max(i - 1, 0), min(i + 2, m))
 for b in range(max(j - 1, 0), min(j + 2, n))
 if matrix[a][b] == landmine)
# 最終結(jié)果展示
[print(v) for v in matrix]
import numpy as np
# 行數(shù)、列數(shù)、地雷數(shù)
m, n, k = 5, 10, 15
# 地雷符號,此處用9表示
landmine = 9
# 初始化總長為m*n的序列,TopK是雷,k后是0
ls = [landmine for _ in range(k)] + [0 for _ in range(m * n - k)]
print(ls)
# 打亂序列順序,達(dá)到隨機(jī)的效果
np.random.shuffle(ls)
print(ls)
# m*n的序列=>m行n列的矩陣
matrix = np.reshape(ls, (m, n))
print(matrix)
# 對沒有雷的格子填充數(shù)字,該數(shù)字表示周圍地雷總數(shù),注意邊緣格子,不要越界
for i in range(m):
 for j in range(n):
  if matrix[i][j] == 0:
matrix[i][j] = sum(
 1 for a in range(max(i - 1, 0), min(i + 2, m))
 for b in range(max(j - 1, 0), min(j + 2, n))
 if matrix[a][b] == landmine)
# 最終結(jié)果展示
print(matrix)

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持本站。

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部