簡體   English   中英

Python-如何擺脫括號,引號和逗號

[英]Python-How to get rid of brackets, quotations, and commas

我是python的新手,我正在為tic tac toe游戲編寫程序。 為了以后可以操作該板,我將其制成一個數組。

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

但是,在打印時,它會打印:

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

如何擺脫括號,引號和逗號,使其僅打印:

- - -
- - -
- - -

謝謝!

您可能需要進行這些小的更改。 如果您的經驗水平有誤,我深感抱歉:

  • 您需要正確縮進代碼。 Python使用縮進(而不是其他語言的花括號)來確定函數和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(" ".join(a[x])而不是print(a[x])其中a[x]是由三個字符串組成的字符串print(" ".join(a[x])表示將每個項目打印在以空格隔開的a a[x]

您需要從某個地方開始,並且不要放棄。 稍后再嘗試使用此代碼時,還會有其他建議:將def放在頂部,為變量和函數命名,使含義很清楚,使用for循環遍歷行而不是索引到行,等等。 所有這些都是為了使您的代碼運行,並使任何閱讀您的代碼的人都清楚您的意圖。

您可以使用空格將子列表連接成一個字符串,然后打印:

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM