我有以下 python 代碼,我正在努力獲得所描述的正確結果。
import numpy as np
number_of_ants = 500
ameisen = np.array([
[number_of_ants, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
])
labyrinth = np.array([
[False, True, False, False, False, False, True, False, False, False],
[False, True, False, False, True, False, True, False, False, False],
[False, True, True, False, True, False, True, False, False, False],
[False, True, False, False, True, False, True, True, True, True],
[False, False, False, True, True, False, False, False, False, True],
[False, True, False, True, True, False, True, True, False, True],
[False, True, False, False, True, False, True, False, False, True],
[False, True, True, False, True, False, True, False, True, True],
[False, True, False, False, True, False, True, False, False, False],
[False, True, False, False, True, False, True, True, True, True],
])
def print_labyrinth(step):
print(f"[{step}]")
new_array = ameisen labyrinth
new_array = new_array.tolist()
print(new_array)
return
ef move_all_ants_one_step():
# START TODO b)
pass
# END TODO
def simulate(number_of_ants):
# START TODO c)
pass
# END TODO
def analysis():
# START TODO d)
print_labyrinth(0)
# END TODO
analysis()
當我執行它時,我得到以下結果:
[0]
[[500, 1, 0, 0, 0, 0, 1, 0, 0, 0], [0, 1, 0, 0, 1, 0, 1, 0, 0, 0], [0, 1, 1, 0, 1, 0, 1, 0, 0, 0], [0, 1, 0, 0, 1, 0, 1, 1, 1, 1], [0, 0, 0, 1, 1, 0, 0, 0, 0, 1], [0, 1, 0, 1, 1, 0, 1, 1, 0, 1], [0, 1, 0, 0, 1, 0, 1, 0, 0, 1], [0, 1, 1, 0, 1, 0, 1, 0, 1, 1], [0, 1, 0, 0, 1, 0, 1, 0, 0, 0], [0, 1, 0, 0, 1, 0, 1, 1, 1, 1]]
我正在尋找獲得以下結果的方法:
[0]
[500][---][000][000][000][000][---][000][000][000]
[000][---][000][000][---][000][---][000][000][000]
[000][---][---][000][---][000][---][000][000][000]
[000][---][000][000][---][000][---][---][---][---]
[000][000][000][---][---][000][000][000][000][---]
[000][---][000][---][---][000][---][---][000][---]
[000][---][000][000][---][000][---][000][000][---]
[000][---][---][000][---][000][---][000][---][---]
[000][---][000][000][---][000][---][000][000][000]
[000][---][000][000][---][000][---][---][---][---]
我是 Python 新手,我嘗試了很多方法,但沒有取得任何成功。可能,[000] & [---] 也需要用換行符定義?
有什么幫助嗎?
uj5u.com熱心網友回復:
有很多方法可以做到這一點,一種方法如下
def print_labyrinth(step):
print(f"[{step}]")
for row_ameisen, row_labyrinth in zip(ameisen, labyrinth):
for ameise, maze_bool in zip(row_ameisen, row_labyrinth):
if not maze_bool:
print(f"[{ameise:03d}]", end="")
else:
print("[---]", end="")
print("")
也許我會推薦使用 numpy 陣列,因為我認為您不會使用 numpy 內置函式,而只會使用 Python 邏輯來操作元素。
uj5u.com熱心網友回復:
默認情況下,方括號包圍整個陣列,而不是陣列中的每個元素,因此 Python 不會輸出 [500][---][000]...
您可以嘗試遍歷您的陣列陣列,并以您想要的格式列印它:
for row in ameisen:
for cell in row:
print("[ = ]" % (cell), end = " ")
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/429202.html
標籤:Python 数组 python-3.x 麻木的
上一篇:PyTorch安裝-畫中畫-錯誤
