我在为我的战舰游戏打印这个二维数组时遇到问题。
class Battleship:
def __init__(self):
self.__init__()
def board(self, locate):
locate = []
for i in range(10):
locate.append([])
for j in range(10):
locate[i].append(0)
for i in range(10):
for j in range(10):
locate[i][j] = '%s,%s'%(i,j)
print(locate)
我在这里找到了初始化数组的方法:How to initialise a 2D array in Python? 在这里我找到了在2d数组上迭代的代码示例,但它对我不起作用: Iterating over a 2 dimensional python list
你能帮我个忙吗?
字符串格式不正确
%s
是字符串的i
和j
是整数,因此请使用%d
所以使用:
此外,要以矩阵格式打印,完整代码为:
这应该会起作用的。
你想怎么打印?请提供更多关于输出格式的信息。
假设您想要格式,即xOy坐标(x,y):
在这个for循环中:
您的代码可能会因为这一行而失败:
这里的问题是您的locate变量是一个2D数组,因此您可能需要尝试如下操作:
否则,如果我没弄错的话,你就得附上一份完整的名单
另外,您的最后一个语句“print(locate)”应该在for循环之外,以便只打印一次矩阵
相关问题 更多 >
编程相关推荐