目前正在做一些python的事情,我不能使用任何导入
我正在制作一个connect 4游戏,出于某种原因,我一直在以下代码中遇到异常。我把一些东西改成了整数,而不是它们的变量,这样你就可以看到我在放什么了。 无论输入什么数字,我总是点击“无效列”
def play():
while (True):
try:
drawfield(currentField)
print(f"Players turn: {Player}")
columnSelect = int(input("Select your column: "))
if columnSelect >= 0 and columnSelect <= 13:
for i in range(11):
if currentField[columnSelect][i] != " ":
locate = i - 1
mark(columnSelect, locate)
else:
raise print("outside board")
break
except:
print("Invalid column")
except:
print("Invalid column")
我得到的错误是索引超出范围。 名单如下:
currentField = [[" "," "," "," "," "," "],[" "," "," "," "," "," "],[" "," "," "," "," "," "],[" "," "," "," "," "," "],[" "," "," "," "," "," "],[" "," "," "," "," "," "],[" "," "," "," "," "," "]]
currentField
只有6列,范围检查为11,因此对于currentField
大小,检查范围直到5(包括零索引,因此总长度将为6)。 类似地currentField
有7行,但是检查了13行,应该检查6行或者更新
currentField
以匹配12x14的大小改善游戏的几点措施:
len(mylist)
而不是硬编码长度是有帮助的李>我使用此代码进行测试:
播放期间的输出
相关问题 更多 >
编程相关推荐