我正在审查一些C#代码,我不是C#程序员。我看到的是其中的随机性。
我有以下代码:
Random random = new Random(Convert.ToInt32((cell[0] << 20) | (cell[1] << 10) | cell[2]));
如果我没看错的话,随机生成器里面有一个If语句。我的问题是这是做什么的?我正试着把它重建成python,为了它的功能,每当我随机搜索的时候,我都会看到这样的东西:
Random random = new Random()
random.next(3)
我的第一个想法是上面的会设置随机性因子,但我想我错了。因为我
为了我的研究的可再生产性,我希望能够修正numpy生成的(伪随机数)序列。我们通常可以通过修复随机种子来实现这一结果,我在Python中也使用np.random.seed来修复这个值。但是,在两个Python会话之间,对于相同的随机种子,我看到了不同的结果。请在下面找到两个会话的输出。
Python 2.7.6 (default, Nov 10 2013, 19:24:24) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "licen
以下两种python代码的变体具有相同的目的(从均匀分布生成随机值),尽管使用相同的随机种子,但仍会产生不同的值。如果有人能解释一下为什么会这样,我将不胜感激。谢谢。
import numpy as np
a=np.array([[1,9],[10,19],[20,29],[100,150]])
版本1:
np.random.seed(0)
np.random.uniform(a[:,0],a[:,1])
out->array([ 5.39050803, 16.4367043 , 25.42487038, 127.24415915])
版本2:
for i in range(a.
我正在使用Python和一些库(如speech_recognition、gtts和mpg321 )开发一个虚拟助手。
现在,我的助手对任何已识别的对话框都有一个特定的回复,但我希望它以随机的方式回复。
下面是代码
def violet(data):
if "what is violet" in data:
speak("Yours truly.")
if "are you a robot" in data:
speak("I don't know what you've
我想做一个随机数发生器
所以我做了很多研究,并在下面做了一个小代码
a=1
b=2
m=5000
x=3
lst=[]
for i in range(10):
x=(a*x+b)%m
lst.append(x)
print(lst)
if len(lst) != len(set(lst)):
print("it has duplicates but possibly random numbers")
else:
print("those were random numbers")
我从得到的数学方程给了我一些随机数,但只有当值很大时,如果
我查看了以下代码:
from random import choice
for val in range(10):
a = ','.join(str(choice(range(20))) for idx in range(4))
print a
意识到我没有用过seed()。如果你想要产生不同的随机序列的话,我已经被教导要为随机数产生种子。
我决定运行这段代码,希望每次都会重复这个序列。但是,在运行了几次代码之后,每次都会生成不同的序列。
真的有必要为Python随机数生成器添加种子吗?或者..。
在默认情况下,种子是否被调用?或者..。
我是不是
我有一个问题,在我的代码中,任何人都可以帮助将是很好的。这是示例代码。
from random import *
from numpy import *
r=array([uniform(-R,R),uniform(-R,R),uniform(-R,R)])
def Ft(r):
for i in range(3):
do something here, call r
return something
然而,我发现在python shell中,每次我运行函数Ft时,它会给我不同的result.....seems,就像在函数中一样,在for循环的每次迭代中
当我学习C#时,我正在重新创建我在python中做的一个旧项目,它是一个D&D风格的字符随机化器。我正在进行随机统计生成,但我似乎在获取实际值时遇到了困难,而不是System.Collections.Generic.List1System.Int32的错误。
Python代码:
def char_stats(self):
# roll 4 D6s drop the lowest number and add the highest 3
# this is done for each stat slot
stats = []
for x in range(
我一直试图把所有名词,verbs..etc从棕色语料库中分离出来,所以我尝试使用代码。
brown.all_synsets('n')
但是很明显,这个代码只适用于wordnet。顺便说一下,我正在使用python3.4。
编辑
@alvas的回答奏效了。但是当我随机使用它时,它会产生一个错误。看一看。
nn = {word for word, pos in brown.tagged_words() if pos.startswith('NN')}
print(nn)
输出是
{'such', 'rather', 'Qui
我试图在安装了不同python3版本的不同系统上复制python的python3中的随机序列。
这应该很容易,因为
大多数随机模块的算法和种子函数在Python版本中都会发生变化,但是有两个方面可以保证不会改变:
如果增加了一种新的播种方法,那么将提供一个向后兼容的播种机。
当兼容的种子被赋予相同的种子时,生成器的随机()方法将继续产生相同的序列。
因此,我期望下面的代码总是打印相同的10个数字,无论是特定的python3版本:
import sys
print(sys.version)
from random import seed, random
seed(st