【问题标题】:Maze Pattern Building in PythonPython中的迷宫模式构建
【发布时间】:2017-09-03 06:38:05
【问题描述】:

您好,我是 python 的新手,使用 python 3。 我想学习图案和印刷,例如星星等。我想制作迷宫图案,但我很困惑,无法制作 2-no4 迷宫

No 1

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

No 2

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

No 3 

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

No 4 

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

这是我的密码迷宫 no1:

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))

【问题讨论】:

  • 您面临的具体问题是什么?
  • 我很困惑将第 2 号迷宫制作到第 4 号
  • @Nabunaga 你特别困惑的是什么?这似乎是家庭作业。
  • @Milk 我已经制作了第 1 号迷宫直到第 4 号,但是我使用进口乌龟制作了第 2 号到第 4 号。我想制作第 2 号直到第 4 号不使用进口乌龟。我很困惑确定位置列和行。我不知道如何达到预期的结果(从 2 号到 4 号),所以寻找有关如何编写代码以获取 2 号到 4 号迷宫的指导

标签: python python-3.x logic maze


【解决方案1】:

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

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

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

然后设想自己通过驾驶推土机穿过迷宫来创建迷宫,边走边开辟道路。在这种方法下,我们可以将迷宫表示为一组驾驶指令。例如,迷宫 1 如下所示:

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 会更容易。理想情况下,这些概念中的每一个(向南、向东等)都可以实现为简单的函数或方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-09
    • 2012-04-25
    • 1970-01-01
    • 1970-01-01
    • 2022-11-15
    • 1970-01-01
    • 2012-08-02
    • 1970-01-01
    相关资源
    最近更新 更多