首页 > 解决方案 > 尝试通过 if 语句保持随机数出现的计数

问题描述

我正在尝试计算生成随机数的次数,并在达到某个数字后停止它。我是 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’”

标签: python

解决方案


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 语句,但是然后确保 pgameplay(p)在您的代码中的其他地方被调用。


推荐阅读