了解randrange()函数

时间:2018-11-01 15:32:05

标签: python

我从在线图书中复制的脚本要求我尝试这段代码;

import random
import time

#First variation
random.seed(1)

# Simple Range 0 <= r < 6
print(random.randrange(6), random.randrange(6))

# More complex range 1 <= r < 7
print(random.randrange(1,7), random.randrange(1,7))

# Really complex range of even numbers between 2 and 36
print(random.randrange(2,37,2))

# Odd numbers from 1 to 35
print(random.randrange(1,36,2))

print()

#Second variation
random.seed(time.clock())

# Simple Range 0 <= r < 6
print(random.randrange(6), random.randrange(6))

# More complex range 1 <= r < 7
print(random.randrange(1,7), random.randrange(1,7))

# Really complex range of even numbers between 2 and 36
print(random.randrange(2,37,2))

# Odd numbers from 1 to 35
print(random.randrange(1,36,2))

上述代码将这个结果返回给我;

1 4
1 3
8
31

5 1
6 2
28
23

我试图理解randrange()函数,使其更加具体,尤其是在上述代码示例的上下文中。那么Python到底在做什么呢?每次显示一个完全不同的结果?

1 个答案:

答案 0 :(得分:1)

randrange模块中的random是一种从给定范围生成随机数的方法。它还允许包括步骤。

基本上,它使用psuedorandom方法创建随机数。可以查询随机数生成的适用性。

通过API:

Syntax : 
random.randrange(start(opt),stop,step(opt))
Parameters :
start(opt) :  Number consideration for generation starts from this,
default value is 0. This parameter is optional.
stop : Numbers less than this are generated. This parameter is mandatory.
step(opt) : Step point of range, this won't be included. This is optional.
Default value is 1.
Return Value : 
This function generated the numbers in the sequence start-stop skipping step.
Exceptions :
Raises ValueError if stop <= start and number is non- integral.