Python-如何摆脱括号,引号和逗号

时间:2016-07-17 22:32:40

标签: python python-3.x

我是python的新手,我正在为一个tic tac toe游戏做一个程序。为了能够在以后操作电路板,我已经把它变成了一个数组。

a=[["-","-","-"],["-","-","-"],["-","-","-"]]
def ttt(a):
for x in range (0,3):
        print (a[x])
z=ttt(a)
print(z)

然而,当它打印时,会打印出来:

['-', '-', '-']
['-', '-', '-']
['-', '-', '-']

如何删除括号,引号和逗号以便打印:

- - -
- - -
- - -

谢谢!

3 个答案:

答案 0 :(得分:1)

您可能想要进行这些小改动。如果我猜错了你的经验,我很抱歉:

  • 您需要正确缩进代码。 Python使用indention而不是其他语言的大括号来确定函数的结尾和for循环。

  • 决定打印位置。如果调用ttt打算打印游戏板,那么它不应该返回任何值。如果调用ttt将返回要打印的多行字符串,则不应自行进行任何打印。也就是说,确定ttt是否意味着print_ttt_board(board)format_ttt_board(board)。现在,您正在函数中打印返回值,而不是返回值。 z=ttt(a)始终将z设置为None,因为没有返回值,print(z)无效。

  • 使用单个值。现在,您循环遍历顶级数组(每行一个数组)并打印它们。也就是说,第一行是数组["-", "-", "-"]。您希望循环找到第一行的数组,然后循环或连接第二行。你现在 打印一个数组,Python为您提供了方便的可调试输出,因此您可以看到它是一个数组。

  • 使用Python的join()方法。它就像“每个元素之间的字符串”.join(the_array)。您print(a[x])意味着打印a[x]中以空格分隔的每个项目,而不是print(" ".join(a[x])其中a[x]是三个字符串的结果。

你需要从某个地方开始,不要放弃。稍后尝试此代码时会有其他建议:将def置于顶部,命名变量和函数以使含义明确,使用for循环遍历行而不是索引到行,等等上。这些都旨在使您的代码运行并使您的意图明确 读你的代码的人。

答案 1 :(得分:0)

您可以将您的子列表与空格连接起来,然后打印出来:

a=[["-","-","-"],["-","-","-"],["-","-","-"]]
def ttt(a):
    for x in range (0,3):
        print(" ".join(a[x]))
z=ttt(a)

- - -
- - -
- - -

答案 2 :(得分:0)

from __future__ import print_function

def print_board(a):
    for row in board:
        for char in row:
            print(' {}'.format(char), end='')
        print('')

board = [["-","-","-"],["-","-","-"],["-","-","-"]]
print_board(board)