首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Python中构建迷宫模式

在Python中构建迷宫模式
EN

Stack Overflow用户
提问于 2017-09-03 14:38:06
回答 1查看 317关注 0票数 0

大家好,我是python的新手,正在使用python 3。我想学习图案和印刷,例如星星等。我想做迷宫图案,但我迷惑了使迷宫2-4

代码语言:javascript
运行
复制
No 1

    @ @@@@@@@@@@@@@
    @             @
    @@@@@@@@@@@@@ @
    @             @
    @ @@@@@@@@@@@@@
    @             @
    @@@@@@@@@@@@@ @
    @             @
    @ @@@@@@@@@@@@@
    @             @
    @@@@@@@@@@@@@ @
    @             @
    @ @@@@@@@@@@@@@
    @             @
    @@@@@@@@@@@@@ @

No 2

    @ @@@@@@@@@@@@@
    @ @   @   @   @
    @ @ @ @ @ @ @@@
    @ @ @ @ @ @   @
    @ @ @ @ @ @@@ @
    @ @ @ @ @     @
    @ @ @ @ @@@@@@@
    @ @ @ @       @
    @ @ @ @@@@@@@ @
    @ @ @         @
    @ @ @@@@@@@@@@@
    @ @           @
    @ @@@@@@@@@@@ @
    @             @
    @@@@@@@@@@@@@@@

No 3 

    @ @@@@@@@@@@@@@
    @ @           @
    @ @ @@@@@@@@@ @
    @ @ @       @ @
    @ @ @ @@@@@ @ @
    @ @ @ @   @ @ @
    @ @ @ @ @ @ @ @
    @ @ @ @ @ @ @ @
    @ @ @ @@@ @ @ @
    @ @ @     @ @ @
    @ @ @@@@@@@ @ @
    @ @         @ @
    @ @@@@@@@@@@@ @
    @             @
    @@@@@@@@@@@@@@@

No 4 

    @ @@@@@@@@@@@@@
    @ @           @
    @ @ @@@@@@@@@ @
    @ @ @       @ @
    @ @ @ @@@@@ @ @
    @ @ @ @   @ @ @
    @ @ @ @ @ @ @ @
    @ @ @ @ @ @ @ @
    @ @ @ @ @ @ @ @
    @ @ @   @ @ @ @
    @ @ @@@@@ @ @ @
    @ @       @ @ @
    @ @@@@@@@@@ @ @
    @           @ @
    @@@@@@@@@@@@@ @

这是我的代码迷宫no1:

代码语言:javascript
运行
复制
def SimpleMaze(S):
    bool=1
    for i in range(S):
        if (i+1)%2==0:
            print('@'+' '*(S-2)+'@')
        else:
            if bool==1:
                print('@'+' '+'@'*(S-2))
            else:
                print('@'*(S-2)+' '+'@')
            bool=not bool
S= input("Nilai S:")
SimpleMaze(int(S))
EN

回答 1

Stack Overflow用户

发布于 2017-09-03 15:32:14

您通过逐行组装迷宫1来构建迷宫1,但是当您从行的角度考虑其他迷宫时,它们似乎具有更混乱的模式。

这里有另一种方法来解决这个问题。从具有行0..R和列0..C (包括)的实心块开始。

代码语言:javascript
运行
复制
@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@

然后想象一下,你开着推土机在迷宫中穿行,一边走一边开辟道路。在这种方法下,我们可以将迷宫表示为一组驾驶指令。例如,迷宫1看起来像这样:

代码语言:javascript
运行
复制
Start at r==-1, c==1.
Go South 2 steps.
Go East until c==C-1.
Go South 2 steps.
Go West until c==1.
Repeat ... until r>R.

我认为从迷宫2到迷宫4在这些方面会更容易理解。理想情况下,这些概念(向南、向东等)中的每一个都可以作为简单的函数或方法实现。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46020939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档