【发布时间】:2020-04-23 14:54:38
【问题描述】:
我的循环无限循环我很确定它不应该发生?
这是我的代码:
def move(x, movie, g):
global boo
while boo:
ij = 0
for i in g:
ij += 1
if ij == movie and g[ij - 1] == "":
g[ij - 1] = x
boo = False
break
elif ij == 9 and movie == 9 and not g[ij - 1] == "":
movie = input("Already occupied try again: ")
boo = False
return g
我正在尝试为井字游戏制作函数。
此处更新所需的详细信息:
import md
g = ["", "", "o", "o", "", "", "", "", ""]
md.move("x", 4, g)
print(g)
卡在函数的占用部分
【问题讨论】:
-
好吧,可能不满足 if/else 条件,
boo永远不会设置为False。在您设置boo = False的位置添加另一个else分支,您应该没问题。 -
备注:boo 是一个错误的变量名,因为您看不到它的用途。
-
您需要提供minimal reproducible example。
boo在被引用之前未定义。md是什么?是不是上面那个包含move函数的模块?出于示例的目的,请尝试将其移至同一模块中。顺便说一句,欢迎来到 SO!查看tour 和How to Ask 获取其他建议。
标签: python python-3.x list loops