我正在尝试对随机数的生成次数进行计数,并在达到某个数字后将其停止。我是python的新手,可能有一个简单的修复程序,我看不到。
p = 0
def gameplay():
i = random.randint(1,2)
if i <= 1:
print(1)
p = p + 1
gameplay();
else:
print(2)
p = p + 1
gameplay();
if p <= 10:
gameplay();
我不断收到错误消息:“分配前已引用本地变量'p'”
答案 0 :(得分:-3)
p = 0
def gameplay(p):
i = random.randint(1,2)
if i <= 1:
print(1)
else:
print(2)
p = p + 1
return p
while p <= 10:
p = gameplay(p)
我编辑了您的代码,以使p
在游戏功能中递增,然后再次返回到变量'p'。从而消除了您的错误以及对全局变量p
的需求。
我将if语句更改为while循环,因为我认为示例代码试图实现一个递归函数,该递归函数一直运行到p
大于10为止。如果这不是您想要的,只需对其进行更改返回一个if语句,然后确保在您的代码的其他地方调用p gameplay(p)
。