Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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中,是否每次都有一个变量是不同的随机数?_Python_Variables_Random_Python 3.x - Fatal编程技术网

在python中,是否每次都有一个变量是不同的随机数?

在python中,是否每次都有一个变量是不同的随机数?,python,variables,random,python-3.x,Python,Variables,Random,Python 3.x,基本上我有: import random variable1 = random.randint(13, 19) 基本上就是给variable1分配一个13到19之间的随机数。太好了 但是,我想让它做的是,每次调用该变量时,为其分配一个13到19之间的不同随机数。还有什么我可以做的吗 如果我不够清楚,这里有一个例子: import random variable1 = random.randint(13, 19) print(variable1) print(variable1) print(v

基本上我有:

import random
variable1 = random.randint(13, 19)
基本上就是给variable1分配一个13到19之间的随机数。太好了

但是,我想让它做的是,每次调用该变量时,为其分配一个13到19之间的不同随机数。还有什么我可以做的吗

如果我不够清楚,这里有一个例子:

import random
variable1 = random.randint(13, 19)
print(variable1)
print(variable1)
print(variable1)
我想要的输出是这样的:

./script.py
15
19
13

是的,反正我可以用python来做?(更具体地说是python3。但答案可能与python2的答案类似)

也许是个愚蠢的问题,但为什么不使用函数而不是变量呢


或者更符合您的变量范例,为什么不在对象上使用方法呢。然后可以将对象作为变量传递,该方法返回新的随机数。

也许是个愚蠢的问题,但为什么不使用函数而不是变量呢

或者更符合您的变量范例,为什么不在对象上使用方法呢。然后可以将对象作为变量传递,该方法返回新的随机数。

使用:

alist = range(13,20)  
random.shuffle(alist)  
现在,您可以按随机顺序循环执行此操作

使用:

alist = range(13,20)  
random.shuffle(alist)  
现在你可以按随机顺序循环这个问题了

你提到了“called”这个词,这样我想你已经回答了你自己的问题。这正是函数或方法的工作

变量只是对对象的引用。您可以在变量中存储一个对象,该对象重写to string方法以生成一个随机数,但这仍然是一个方法

imho说,最终,你的要求会混淆引擎盖下到底发生了什么,结果会产生可维护性较差的代码


当执行
variable1=random.randint(13,19)
时,
variable1
包含不可变对象“数字13”(或其他一些数字)。根据定义,它不能改变而不成为另一个对象。相反,您可以用前面提到的可变对象填充变量,从而允许它修改其“随机数”。或者你可以直接调用一个函数

这只是一个简单的问题。

你提到了“被叫”这个词,我想你已经回答了你自己的问题。这正是函数或方法的工作

变量只是对对象的引用。您可以在变量中存储一个对象,该对象重写to string方法以生成一个随机数,但这仍然是一个方法

imho说,最终,你的要求会混淆引擎盖下到底发生了什么,结果会产生可维护性较差的代码


当执行
variable1=random.randint(13,19)
时,
variable1
包含不可变对象“数字13”(或其他一些数字)。根据定义,它不能改变而不成为另一个对象。相反,您可以用前面提到的可变对象填充变量,从而允许它修改其“随机数”。或者你可以直接调用一个函数


这只是一个简单的问题。

为什么不跳过这个变量呢?您也可以内联使用函数:
print(random.randint(13,19)+1)

试试这个,看看它是否适合你的需要;)


我看不到任何其他的可能性,所以祝你好运

为什么不跳过这个变量呢?您也可以内联使用函数:
print(random.randint(13,19)+1)

试试这个,看看它是否适合你的需要;)


我看不到任何其他的可能性,所以祝你好运

也许我没有正确理解这个问题,但你就不能:

print(random.randint(13, 19))

也许我没有正确理解这个问题,但你就不能这样做:

print(random.randint(13, 19))

使用
random.sample
执行任务怎么样?它
从总体序列中选择k个唯一的随机元素

import random
v1,v2,v3 = random.sample(range(13,20),3)
print v1,v2,v3

当然,我已经给出了3个变量,您可以将其用于n个变量。

使用
random.sample
执行任务如何?它
从总体序列中选择k个唯一的随机元素

import random
v1,v2,v3 = random.sample(range(13,20),3)
print v1,v2,v3

当然,我已经给出了3个变量,你可以用它来表示n个变量。

在那个具体的例子中,有一种相当愚蠢的方法
print
隐式地将其参数转换为字符串。您可以重载该功能:

class randomizer():
    def __str__(self):
        return str(random.randint(13, 19))

variable1 = randomizer()
print(variable1)
print(variable1)
print(variable1)

在那个具体的例子中,有一种相当愚蠢的方法
print
隐式地将其参数转换为字符串。您可以重载该功能:

class randomizer():
    def __str__(self):
        return str(random.randint(13, 19))

variable1 = randomizer()
print(variable1)
print(variable1)
print(variable1)

这接近你想要的

>>> import random
>>> variable1 = lambda: random.randint(13, 19)
>>> print(variable1())
18
>>> print(variable1())
15
>>> print(variable1())
17
>>> 

这接近你想要的

>>> import random
>>> variable1 = lambda: random.randint(13, 19)
>>> print(variable1())
18
>>> print(variable1())
15
>>> print(variable1())
17
>>> 

为什么投反对票??我认为OP只是想从一个集合中生成不重复的元素。为什么要投反对票??我认为OP只是想从一个集合中生成非重复元素。他不想重复数字,看看问题,伙计们。他不想重复数字。在
\uuuu int\uuuu
中添加类似的内容,然后设置为:D+1,它比使用函数更匹配运算。假设OP作者知道函数是什么,并且出于某种原因不想使用它。将类似的内容添加到
\uuuu int\uuu
中,然后设置为:D+1,它比使用函数更符合OP。假设作者知道函数是什么并且出于某种原因不想使用它。你知道这叫做。。。一个函数,一个什么?我还没听说过这个新发现。你知道这叫做。。。一个函数,一个什么?我还没有听说这个新发现。