2017-09-03 100 views
0

你好,我是一个Python的新手和使用python 3. 我希望学习模式和打印例如星星等我想使迷宫模式,但我迷惑,使迷宫没有2 - no4在Python中建立迷宫模式

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

特别是你面临的问题是什么? – Milk

+0

我很困惑,让迷宫2号,直到没有4 – Nabunaga

+1

@Nabunaga什么是你困惑的特定事情?这似乎是功课。 – tambre

回答

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