作为该项目的一部分,我应该构建一个记忆游戏,其中涉及随机化 16 位数字列表(两个相同的 range(7) 范围)并将这些数字打印到画布上。我的第一次迭代有一个 for 循环,它选择列表的每个数字并以设定的间隔 (middle_cell_point) 将其打印到画布上,如下所示:
def draw(canvas):
middle_counter = 1
for num in full_list:
canvas.draw_text(str(full_list[num]), (((middle_cell_point * middle_counter))
- (middle_cell_point/2) , HEIGHT/2), 22, "Red")
middle_counter += 1
此输出在画布上重复数字,但是当我调试代码时,它似乎准确地分配了数字并且似乎没有重复任何数字。程序正常工作当我在 for 循环中用“range(len(full_list))”替换“full_list”时:
def draw(canvas):
middle_counter = 1
for num in range(len(full_list)):
canvas.draw_text(str(full_list[num]), (((middle_cell_point * middle_counter))
- (middle_cell_point/2) , HEIGHT/2), 22, "Red")
middle_counter += 1
有人可以向我解释为什么第二次迭代有效而第一次无效吗?
非常感谢!