Python画井字趾板

2024-10-16 20:51:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图画一个假的3x3井字趾板。我是python新手,我不明白为什么这不起作用。我们将非常感谢您的帮助。谢谢!

def draw():
    for i in range(4):
        board = (" ___ " * 3)

    for i in board:
        ("|    " * 4).join(board)

    print(board)


draw()

编辑:

最终代码:

def draw():
    board = ''

    for i in range(-1,6):

        if i%2==0:
            board += '|      ' * 4
            board += '\n|      |      |      |'

        else:
            board += ' _____ ' * 3

        board += '\n'
    print (board)

draw()

输出:

 _____  _____  _____ 
|      |      |      |      
|      |      |      |
 _____  _____  _____ 
|      |      |      |      
|      |      |      |
 _____  _____  _____ 
|      |      |      |      
|      |      |      |
 _____  _____  _____ 

双重编辑:

另一种方式:

def drawsmall():
    a = (' ___' *  3 )
    b = '   '.join('||||')
    print('\n'.join((a, b, a, b, a, b, a, )))

drawsmall()

输出:

 ___ ___ ___
|   |   |   |
 ___ ___ ___
|   |   |   |
 ___ ___ ___
|   |   |   |
 ___ ___ ___

Tags: 代码inboard编辑forifdefrange
3条回答

你可以试试这个:

def draw():
   return [["__" for b in range(3)] for i in range(3)]

现在你有一个包含你的董事会的名单。要打印出来,可以执行以下操作:

the_board = draw()

for i in the_board:
    for b in i:

        print('|'.join(i), end="") 

    print()

print("  |    |  ")

查看join函数的工作原理。首先,它接受给定的字符串并将其用于“胶水”,即连接其他字符串的字符串。其次,它返回构造的字符串;您的join操作无法保存结果。

尝试使用嵌套循环首先执行此操作:打印一行框,然后打印水平分隔符等,然后逐位将其转换为所需的单个字符串输出。

我发现在一个循环中这样做更容易,每次迭代都打印一行电路板。通过使用%运算符检查当前迭代是偶数还是奇数,可以在垂直条和水平条之间进行替换。

对于字符串,不需要使用join——可以更清楚地使用+=运算符追加。

def draw():
    # initialize an empty board
    board = ""

    # there are 5 rows in a standard tic-tac-toe board
    for i in range(5):
        # switch between printing vertical and horizontal bars
        if i%2 == 0:
            board += "|    " * 4
        else:
            board += " --- " * 3
        # don't forget to start a new line after each row using "\n"
        board += "\n"

    print(board)

draw()

输出:

|    |    |    |    
 ---  ---  --- 
|    |    |    |    
 ---  ---  --- 
|    |    |    |   

相关问题 更多 >