值不从python函数返回

时间:2016-04-23 21:53:12

标签: python python-3.x

我有一个变量" x"分配给一个函数(" rundown")。在该函数内部,有两个变量" y,z"被随机值减少。条件语句然后检查y和z是否仍然大于0 - 如果是,则该函数再次使用新值运行,重复直到一个变量达到0。

一旦这些变量中的一个变为0或更小,该函数就会返回一个值,该值基于yz是否先命中0。 x应该被赋予该值,因此main函数中的条件可以基于rundown函数的结果。但那部分似乎并没有起作用。

我已经尝试将print语句添加到条件语中,只是为了查看它们是否触发,而且它们确实触发了。但是当我向x添加一个print语句时,它只会打印" none"所以我知道我的代码在哪里破碎。我不知道为什么......这是我与之合作的主旨:

def main():
  x = rundown(y,z)
  if x == 0:
    #(do something)
  elif x == 1:
    #(do something else)


def rundown(y,z):
  y -= (1 + random.random())
  z -= (1 + random.random())
  if y <= 0:
    return(0)
  elif z <= 0:
    return(1)
  else:
    rundown(y,z)

2 个答案:

答案 0 :(得分:-1)

不是在else下的断言,它会在函数中返回一个值但你没有将它分配给你在main中的任何东西。也许做

返回(纲要(Y,Z))

答案 1 :(得分:-1)

忘记了在其他身份return rundown(y,z)

中的回复