Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 关于randint和if的问题 def rng(): 返回randint(1100)_Python_Python 3.x_If Statement_Random - Fatal编程技术网

Python 关于randint和if的问题 def rng(): 返回randint(1100)

Python 关于randint和if的问题 def rng(): 返回randint(1100),python,python-3.x,if-statement,random,Python,Python 3.x,If Statement,Random,是 如果rng()如@jonsharpe所示,这两种方法都不起作用。第二种方法毫无意义(这不是和的工作原理),而第一种方法更有意义,但仍然失败。它将失败,因为它将计算三个不同的随机数,而不是一个。您需要执行以下操作: r = rng() if r <= x and r <= y and r <= z: #do something 虽然显然不是所有涉及r的比较都可以简化为1。这些代码片段都不起作用;一个选择三个不同的随机数,另一个只比较x。将返回值赋给一个变量,无需尝试


如果rng()如@jonsharpe所示,这两种方法都不起作用。第二种方法毫无意义(这不是
的工作原理),而第一种方法更有意义,但仍然失败。它将失败,因为它将计算三个不同的随机数,而不是一个。您需要执行以下操作:

r = rng()
if r <= x and r <= y and r <= z:
    #do something

虽然显然不是所有涉及
r
的比较都可以简化为1。

这些代码片段都不起作用;一个选择三个不同的随机数,另一个只比较x。将返回值赋给一个变量,无需尝试并内联所有内容。那么怎么做呢?只需赋例如
value=rng()
,然后在比较中使用
value
。@jornsharpe这应该是一个答案,而不是注释。在第二种情况下,可能的重复项也应该使用
r=rng()
,使用
min
@tobias_k取决于OP这样做的目的。如果关键是让代码在
的主体中,如果
以特定的概率执行,这取决于
x,y,z,
,并且
r
没有进一步的作用,那么定义
r
将是多余的。
if rng() <= min(x,y,z):
    #do something