python - 不使用 Numpy 打印 Checkboard
问题描述
我正在尝试使用数组打印棋盘并且不导入任何像 Numpy 这样的包。代码应该打印回来
X 0 X 0 X 0 X 0
0 X 0 X 0 X 0 X
X 0 X 0 X 0 X 0
0 X 0 X 0 X 0 X
X 0 X 0 X 0 X 0
0 X 0 X 0 X 0 X
X 0 X 0 X 0 X 0
0 X 0 X 0 X 0 X
这是我写的
Checkerboard = [[0]*8 for i in range(8)]
for i in Checkerboard:
p = 0
q = 0
for j in i:
if q % 2 == 0 and p % 2 == 0:
Checkerboard[i][j] = "X"
elif q % 2 == 1 and p % 2 == 1:
Checkerboard[i][j] = "X"
p += 1
for i in Checkerboard:
for j in Checkerboard:
print(j, end='')
print('')
但它不断收到错误:
Checkerboard[i][j] = "X"
TypeError: list indices must be integers or slices, not list
任何人都可以帮我解决问题或提供一些提示吗?
(这是一个硬件任务)
解决方案
试试这个代码:
Checkerboard = [["0"] * 8 for i in range(8)]
for i in range(len(Checkerboard)):
for j in range(len(Checkerboard[i])):
if i % 2 == 0 and j % 2 == 0:
Checkerboard[i][j] = "X"
elif i % 2 == 1 and j % 2 == 1:
Checkerboard[i][j] = "X"
for place in Checkerboard:
print(place, end='')
print('')
我更新了您的代码并进行了一些更改。您尝试以这种方式更改板上的位置的问题:
Checkerboard[i][j] = "X"
但是 i 和 j 没有被声明为索引。
推荐阅读
- android - 所有 WebView 都以某种方式共享访问历史记录
- c# - 使用gamesparks RTDataBuilder发送字符串,如果索引大于128就会出现IndexOutOfRange异常
- javascript - 加载 gapi 后加载 Angular 5 组件
- python-2.7 - 如何验证 Python(网页)中的字体大小和颜色?
- javascript - 单击按钮两次处理其他组件中的 ngIf 语句
- python - Python数据加密
- javascript - 角度材质对话框未打开
- laravel - Laravel 数据库关系
- javascript - 在 mouseover javascript 事件下的 jQuery click 事件表现得很奇怪
- angular - 当从 api 获取数据时,Angular 2+ 用 ngFor 填充 html 表