最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python生成掃雷地圖的方法

 更新時(shí)間:2021年09月24日 16:13:47   作者:小基基o_O  
這篇文章主要為大家詳細(xì)介紹了Python生成掃雷地圖的方法,并非游戲?qū)崿F(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

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

需求說明

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

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

思路

代碼實(shí)現(xiàn)

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

from random import shuffle

# 行數(shù)、列數(shù)、地雷數(shù)
m, n, k = 5, 10, 15

# 地雷符號(hào),此處用9表示
landmine = 9

# 初始化序列,總長(zhǎng)為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)]

# 對(duì)沒有雷的格子填充數(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

# 地雷符號(hào),此處用9表示
landmine = 9

# 初始化總長(zhǎng)為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)

# 對(duì)沒有雷的格子填充數(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)

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

相關(guān)文章

  • Python模塊學(xué)習(xí)之struct模塊詳解

    Python模塊學(xué)習(xí)之struct模塊詳解

    這篇文章主要介紹了Python模塊學(xué)習(xí)之struct模塊詳解,該模塊作用是完成Python數(shù)值和C語(yǔ)言結(jié)構(gòu)體的Python字符串形式間的轉(zhuǎn)換,這可以用于處理存儲(chǔ)在文件中或從網(wǎng)絡(luò)連接中存儲(chǔ)的二進(jìn)制數(shù)據(jù),以及其他數(shù)據(jù)源,需要的朋友可以參考下
    2023-07-07
  • Opencv python 圖片生成視頻的方法示例

    Opencv python 圖片生成視頻的方法示例

    這篇文章主要介紹了Opencv python 圖片生成視頻的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 一文詳解Python中哈希表的使用

    一文詳解Python中哈希表的使用

    哈希表或稱為散列表,是一種常見的、使用頻率非常高的數(shù)據(jù)存儲(chǔ)方案。本文將站在開發(fā)者的角度,帶著大家一起探究哈希的世界,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-05-05
  • 詳解pytorch 0.4.0遷移指南

    詳解pytorch 0.4.0遷移指南

    這篇文章主要介紹了詳解pytorch 0.4.0遷移指南,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-06-06
  • 如何使用python檢測(cè)某網(wǎng)盤鏈接是否有效

    如何使用python檢測(cè)某網(wǎng)盤鏈接是否有效

    這篇文章主要為大家介紹了使用python檢測(cè)某網(wǎng)盤鏈接是否有效的方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • python實(shí)現(xiàn)簡(jiǎn)單聊天應(yīng)用 python群聊和點(diǎn)對(duì)點(diǎn)均實(shí)現(xiàn)

    python實(shí)現(xiàn)簡(jiǎn)單聊天應(yīng)用 python群聊和點(diǎn)對(duì)點(diǎn)均實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡(jiǎn)單聊天應(yīng)用,python群聊和點(diǎn)對(duì)點(diǎn)均實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • Python3.x中自定義比較函數(shù)

    Python3.x中自定義比較函數(shù)

    這篇文章主要介紹了Python3.x中自定義比較函數(shù),本文給出了自定義對(duì)象的比較、字典值value的比較實(shí)現(xiàn)方法,需要的朋友可以參考下
    2015-04-04
  • Python利用omegaconf庫(kù)輕松實(shí)現(xiàn)配置文件管理

    Python利用omegaconf庫(kù)輕松實(shí)現(xiàn)配置文件管理

    omegaconf是一個(gè)靈活且強(qiáng)大的Python配置管理庫(kù),支持YAML,dict,列表等多種數(shù)據(jù)格式,下面我們就來看看如何使用omegaconf實(shí)現(xiàn)配置文件管理吧
    2025-02-02
  • Python利用Rows快速操作csv文件

    Python利用Rows快速操作csv文件

    Rows?是一個(gè)專門用于操作表格的第三方Python模塊。只要通過?Rows?讀取?csv?文件,她就能生成可以被計(jì)算的?Python?對(duì)象。本文將通過示例為大家詳細(xì)講講Python如何利用Rows快速操作csv文件,需要的可以參考一下
    2022-09-09
  • Python入門教程之運(yùn)算符與控制流

    Python入門教程之運(yùn)算符與控制流

    本文主要針對(duì) Python 的運(yùn)算符和控制流進(jìn)行講解,這里只介紹 Python 中比較獨(dú)特的部分,和其他語(yǔ)言類似的東西,比如加減乘除運(yùn)算符就不在介紹。由于這篇文章是入門級(jí)別的文章,高手可直接跳過。
    2016-08-08

最新評(píng)論

霞浦县| 福建省| 托克逊县| 繁峙县| 唐海县| 米易县| 张家口市| 白玉县| 济宁市| 塔河县| 鞍山市| 晋城| 眉山市| 马边| 固镇县| 县级市| 金坛市| 英德市| 临沧市| 北辰区| 牙克石市| 望谟县| 灵台县| 新晃| 东至县| 南漳县| 南华县| 丽水市| 泰州市| 桦川县| 阿克| 高雄市| 宽甸| 神池县| 永春县| 巩义市| 呼伦贝尔市| 永登县| 泾川县| 凤城市| 彭州市|