本文整理汇总了Python中random.Random类的典型用法代码示例。如果您正苦于以下问题:Python Random类的具体用法?Python Random怎么用?Python Random使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Random类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: seeds
def seeds(starting, n_steps):
random = Random(starting)
result = []
for _ in hrange(n_steps):
result.append(random.getrandbits(64))
return result
示例2: generate
def generate(self, number, interval):
rv = Random(self.SEED)
for i in range(number):
c = Customer(name = 'Customer%02d' % (i,))
activate(c, c.visit(timeInBank = 12.0))
t = rv.expovariate(1.0 / interval)
yield hold, self, t
示例3: HTTPDigestAuth
class HTTPDigestAuth(HTTPAuth):
def __init__(self):
super(HTTPDigestAuth, self).__init__()
self.random = SystemRandom()
try:
self.random.random()
except NotImplementedError:
self.random = Random()
def get_nonce(self):
return md5(str(self.random.random()).encode('utf-8')).hexdigest()
def authenticate_header(self):
session["auth_nonce"] = self.get_nonce()
session["auth_opaque"] = self.get_nonce()
return 'Digest realm="' + self.realm + '",nonce="' + session["auth_nonce"] + '",opaque="' + session["auth_opaque"] + '"'
def authenticate(self, auth, password):
if not auth.username or not auth.realm or not auth.uri or not auth.nonce or not auth.response or not password:
return False
if auth.nonce != session.get("auth_nonce") or auth.opaque != session.get("auth_opaque"):
return False
a1 = auth.username + ":" + auth.realm + ":" + password
ha1 = md5(a1.encode('utf-8')).hexdigest()
a2 = request.method + ":" + auth.uri
ha2 = md5(a2.encode('utf-8')).hexdigest()
a3 = ha1 + ":" + auth.nonce + ":" + ha2
response = md5(a3.encode('utf-8')).hexdigest()
return response == auth.response
示例4: main
def main(prng=None, display=False):
if prng is None:
prng = Random()
prng.seed(time())
import logging
logger = logging.getLogger('inspyred.ec')
logger.setLevel(logging.DEBUG)
file_handler = logging.FileHandler('inspyred.log', mode='w')
file_handler.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)
ea = inspyred.ec.DEA(prng)
if display:
ea.observer = inspyred.ec.observers.stats_observer
ea.terminator = inspyred.ec.terminators.evaluation_termination
final_pop = ea.evolve(generator=generate_rastrigin,
evaluator=inspyred.ec.evaluators.parallel_evaluation_pp,
pp_evaluator=evaluate_rastrigin,
pp_dependencies=(my_squaring_function,),
pp_modules=("math",),
pop_size=8,
bounder=inspyred.ec.Bounder(-5.12, 5.12),
maximize=False,
max_evaluations=256,
num_inputs=3)
if display:
best = max(final_pop)
print('Best Solution: \n{0}'.format(str(best)))
return ea
示例5: __init__
def __init__(self):
self.valid_consts = range(1, 10)
rand = Random()
self.a = rand.choice(self.valid_consts)
self.b = rand.choice(self.valid_consts)
self.c = rand.choice(self.valid_consts)
示例6: random_sample
def random_sample(prob, seq, random_state=None):
""" Return elements from a sequence with probability of prob
Returns a lazy iterator of random items from seq.
``random_sample`` considers each item independently and without
replacement. See below how the first time it returned 13 items and the
next time it returned 6 items.
>>> seq = list(range(100))
>>> list(random_sample(0.1, seq)) # doctest: +SKIP
[6, 9, 19, 35, 45, 50, 58, 62, 68, 72, 78, 86, 95]
>>> list(random_sample(0.1, seq)) # doctest: +SKIP
[6, 44, 54, 61, 69, 94]
Providing an integer seed for ``random_state`` will result in
deterministic sampling. Given the same seed it will return the same sample
every time.
>>> list(random_sample(0.1, seq, random_state=2016))
[7, 9, 19, 25, 30, 32, 34, 48, 59, 60, 81, 98]
>>> list(random_sample(0.1, seq, random_state=2016))
[7, 9, 19, 25, 30, 32, 34, 48, 59, 60, 81, 98]
``random_state`` can also be any object with a method ``random`` that
returns floats between 0.0 and 1.0 (exclusive).
>>> from random import Random
>>> randobj = Random(2016)
>>> list(random_sample(0.1, seq, random_state=randobj))
[7, 9, 19, 25, 30, 32, 34, 48, 59, 60, 81, 98]
"""
if not hasattr(random_state, 'random'):
random_state = Random(random_state)
return filter(lambda _: random_state.random() < prob, seq)
示例7: init_seq_order
def init_seq_order(self, epoch=None, seq_list=None):
assert seq_list is None, "seq_list not supported for %s" % self.__class__
need_reinit = self.epoch is None or self.epoch != epoch
super(CombinedDataset, self).init_seq_order(epoch=epoch, seq_list=seq_list)
if not need_reinit:
return False
# We just select for which seq-idx we will use which dataset.
# The ordering of the seqs in the datasets will not be set here
# (do that in the config for the specific dataset).
seqs_dataset_idx = self._canonical_seqs_dataset_idxs()
if self.seq_ordering in ("default", "random"): # default is random. this is different from base class!
from random import Random
rnd = Random(self.epoch)
rnd.shuffle(seqs_dataset_idx)
elif self.seq_ordering == "in-order":
pass # keep as-is
elif self.seq_ordering == "reversed":
seqs_dataset_idx = reversed(seqs_dataset_idx)
else:
raise Exception("seq_ordering %s not supported" % self.seq_ordering)
self.dataset_seq_idxs = self._dataset_seq_idxs(seqs_dataset_idx)
assert self.num_seqs == len(self.dataset_seq_idxs)
for dataset in self.datasets.values():
dataset.init_seq_order(epoch=epoch)
return True
示例8: brachistochrone
def brachistochrone():
initial = [(float(i) / num_intervals) for i in range(num_intervals)]
initial.append(1.0)
initial.reverse()
rand = Random()
rand.seed(int(time()))
real = initial[:]
k = find_optimal(initial[:], 1000, rand)
print duration(k)
tenk = find_optimal(k[:], 10000, rand)
print duration(tenk)
#hundk = find_optimal(tenk[:], 100000, rand)
#print duration(hundk)
initial.reverse()
plt.plot(initial, k, '-', lw=2)
plt.plot(initial, tenk, '-', lw=2)
#plt.plot(initial, hundk, '-', lw=2)
plt.plot(initial, initial, '-', lw=2)
real = actual(2.0)
initial.reverse()
plt.plot(initial, real[1], '-', lw=2)
print duration(real[1])
print duration(initial)
plt.title('Brachistochrone')
plt.grid(True)
plt.show()
示例9: RulesetUniverseGenerator
class RulesetUniverseGenerator(object):
def __init__(self, ruleset):
self.ruleset = ruleset
self.random = Random()
def initialise(self, seed, system_min, system_max, planet_min, planet_max):
self.random.seed(seed)
self.system_min = system_min
self.system_max = system_max
self.planet_min = planet_min
self.planet_max = planet_max
@property
def model(self):
return self.ruleset.model
@property
def SIZE(self):
return 10 ** 7
@property
def SPEED(self):
return 3 * 10 ** 8
@property
def randint(self):
return self.random.randint
示例10: random
def random(request):
g=Random()
p=Picture.objects.get(pk=g.randint(1,Picture.objects.count()))
return HttpResponse(
thumbnail_it(p.directory+"/"+p.filename),
mimetype="image/jpeg"
)
示例11: Trolldoll
class Trolldoll(Icedoll):
""" Trolldoll encryption algorithm
based on Icedoll, which is based on Rijndael
Trolldoll adds an 'IV' and integrity checking to Icedoll
"""
def __init__(self,key=None,keySize=32,blockSize=32,tapRound=6,extraRounds=6,micSize=16,ivSize=16):
""" """
Icedoll.__init__(self,key=None,keySize=32,blockSize=32,tapRound=6,extraRounds=6)
self.name = 'TROLLDOLL'
self.micSize = micSize
self.ivSize = ivSize
self.r = Random() # for IV generation
import time
newSeed = time.ctime()+str(self.r) # seed with instance location
self.r.seed(newSeed) # to make unique
self.reset()
def reset(self):
Icedoll.reset(self)
self.hasIV = None
def _makeIV(self):
return self.ivSize*'a'
def _makeIC(self):
""" Make the integrity check """
return self.micSize*chr(0x00)
def _verifyIC(self,integrityCheck):
""" Verify the integrity check """
if self.micSize*chr(0x00) == integrityCheck :
return 1 # matches
else:
return 0 # fails
def encrypt(self, plainText, more=None):
""" """
if not(self.hasIV): # On first call to encrypt put in an IV
plainText = self._makeIV() + plainText # add the 'IV'
self.hasIV = 1
if more == None: # on last call to encrypt append integrity check
plainText = plainText + self._makeIC()
return Icedoll.encrypt(self, plainText, more=more)
def decrypt(self, cipherText, more=None):
""" Decrypt cipher text, Icedoll automatically removes
prepended random bits used as IV.
Note - typically IV is directly used as the first
cipher text. Here the IV is prepended to the plaintext
prior to encryption and removed on decryption.
"""
plainText = Icedoll.decrypt(self, cipherText, more=more)
if not(self.hasIV): # on first call to decrypt remove IV
plainText = plainText[self.ivSize:] # remove the IV
self.hasIV = 1
if more == None: # on last call to encrypt append integrity check
if not(self._verifyIC(plainText[-self.micSize:])) :
raise IntegrityCheckError, 'Trolldoll MIC Failure, bad key or modified data'
plainText = plainText[:-self.micSize] # trim off the integrity check
return plainText
示例12: code_img
def code_img(code, size):
r = Random()
code = code
len_code = len(code)
font = ImageFont.truetype("Essence_Sans.ttf", size)
font_width, font_height = font.getsize(code)
font_width += size / 2
print font_width, font_height
img = Image.new("RGBA", (font_width, font_height), (255,) * 4)
draw = ImageDraw.ImageDraw(img)
draw.text((size/10, -size/10), code, font=font, fill=(0, 0, 0))
params = [1,
0,
0,
0,
1 - float(r.randint(1, 10)) / 100,
0,
0.001,
float(r.randint(1, 2)) / 500
]
print params
img = img.transform((font_width, font_height), Image.PERSPECTIVE, params)
img = img.filter(ImageFilter.EDGE_ENHANCE_MORE)
img.save("test.jpg")
示例13: __init__
class Input:
def __init__(self, dmgr, name):
self.core = dmgr.get("core")
self.name = name
self.prng = Random()
@kernel
def gate_rising(self, duration):
time.manager.event(("gate_rising", self.name, duration))
delay(duration)
@kernel
def gate_falling(self, duration):
time.manager.event(("gate_falling", self.name, duration))
delay(duration)
@kernel
def gate_both(self, duration):
time.manager.event(("gate_both", self.name, duration))
delay(duration)
@kernel
def count(self):
result = self.prng.randrange(0, 100)
time.manager.event(("count", self.name, result))
return result
@kernel
def timestamp_mu(self):
result = time.manager.get_time_mu()
result += self.prng.randrange(100, 1000)
time.manager.event(("timestamp_mu", self.name, result))
at_mu(result)
return result
示例14: bestAgentFor
def bestAgentFor(self, channel, server):
allowed = self.getRootAgents()
candidate = list()
for agent in self.getRunnningAgents():
print agent.server+"/"+server
if agent.server == server:
if agent.nbchan < 8:
candidate.append(agent)
for root_agent in allowed:
#print "computer name: "+getComputername(root_agent)+"/"+getComputername(agent.name)+"y"+agent.name
if getComputername(root_agent)==getComputername(agent.name):
allowed.remove(root_agent)
#if no candidate
log.msg("ALLOWED "+str(allowed))
self.requestNewAgent(allowed, server)
if len(candidate)==0:
return None
from random import Random
rnd = Random()
return candidate[rnd.randint(0, len(candidate)-1)]
示例15: get
def get(self):
newGame = Game()
newGame.title = "test1"
newGame.gameKey = "dsadfasfdsfaasd"
newGame.put()
profiles = [None, 'a123456', 'b123456', 'c123456', 'd123456'];
myrandom = Random()
for i in range(500):
points = myrandom.randint(999, 99999)
days_before = myrandom.randint(0, 40)
tags = []
profile = profiles[myrandom.randint(0, len(profiles) - 1)]
name = profile
if (name == None):
name = "score-{0}".format(i)
self.score(newGame, name, tags, points, datetime.datetime.today() - datetime.timedelta(days=days_before), profile)
# self.score(newGame, "lastmonth-12341", ["hard"], 10000, datetime.datetime.today() - datetime.timedelta(days=40))
# self.score(newGame, "lastweek-15341", ["hard"], 15000, datetime.datetime.today() - datetime.timedelta(days=8))
# self.score(newGame, "yesterday-17341", [], 5000, datetime.datetime.today() - datetime.timedelta(days=2), "123123145")
# self.score(newGame, "yesterday-17341", ["hard"], 7500, datetime.datetime.today() - datetime.timedelta(days=2), "123123145")
# self.score(newGame, "yesterday-17341", [], 6500, datetime.datetime.today() - datetime.timedelta(days=1), "123123145")
# self.score(newGame, "yesterday-17341", [], 5500, datetime.datetime.today() - datetime.timedelta(days=1), "123123145")
# self.score(newGame, "yesterday-17341", [], 4500, datetime.datetime.today() - datetime.timedelta(days=1), "123123145")
# self.score(newGame, "yesterday-17341", [], 2500, datetime.datetime.today() - datetime.timedelta(days=1), "123123145")
# self.score(newGame, "today-17341", ["hard"], 3500, datetime.datetime.today())
self.response.headers['Content-Type'] = 'text/plain'
self.response.out.write("OK")