[英]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.