尝试通过if语句保留随机数出现的次数

时间:2018-12-11 14:38:10

标签: python

我正在尝试对随机数的生成次数进行计数,并在达到某个数字后将其停止。我是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'”

1 个答案:

答案 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)