Python 随机数的用法

python中随机数函数是random,其实好多语言中取随机数的函数都是random 只是调用的方法不一样

1.先列举一个最基本的用法

<1>随机数浮点型

r = random.random()
print(r)

输出:

0.926678564647434

随机数的默认是float(浮点型)

<2>.随机整数

n = int(random.random()*10)
print('n的值为:',n)

输出:

n的值为: 2

int(整数类型)
乘以10的原因是为了取整,去过不乘以10,那么一直就是一个小于1大于0的数,取整永远是0,起不到随机数的作用

2.当然random也有其他的参数,组成不同的方法

<1>.random.seed(int)

  • 给随机数对象一个种子值,作为标记
  • 对于同一种子值得输入,产生的序列也是一样的
  • 通常把时间变化值作为种子值,目的为了每次的种子值不一样,随机值也不一样
  • seed() 省略参数,默认当前系统时间生成的随机数
    代码演示:
# 我们先给一个种子值
random.seed(2)
print(random.random())

输出:

0.9560342718892494

这个时候种子值2,就作为了随机数0.9560342718892494的一个标记
当我们再次随机数的时候就上2这个种子值

print(random.random()) #作对比的
random.seed(2)
print(random.random())

输出:

0.4848326734132643
0.9560342718892494

如果省略,就意味着当前系统时间作为参数

random.seed()
print(random.random())
random.seed()
print(random.random())

random.seed()也可以运用到其他的函数上面,比如:循环

random.seed(5)
num=0
while(num<5):
    print(random.random()) #生出5个随机数
    num+=1

这样的话产生的序列是不变的

<2>.random.randint(a,b)

  • 返回指定范围的一个随机整数,包含上下限
print(random.randint(1,100))

<3>.random.uniform(u,complex)

  • 返回指定范围的一个正态浮点数
  • 范围值可以是 复数,float
print(random.uniform(0.2,1.1 + 2.2j))

输出:

(0.7561335664667732+1.3594376069187786j)

<4>.random.randrange(start,stop,step)

  • 按照步长随机在上下限范围取一个随机数
  • 不包过stop
  • step步长可以不写,默认为1.那么这个时候作用就相当于random.randint()
print(random.randrange(1,7,3))

输出的结果要么是1要么是4(1+3)
不会是7(1+3+3),因为不包括最后的stop

<5>.random.shuffle()

  • 对于list列表进行打乱
  • shuffle()只作用于list
num=[1,2,3,4,5,6,7]
print (num)
random.shuffle(num)
print (num)


item=['a','b','c','d','e','f','g']
print (item)
random.shuffle(item)
print (item)

输出:

[1, 2, 3, 4, 5, 6, 7]
[2, 5, 3, 6, 4, 1, 7]

['a', 'b', 'c', 'd', 'e', 'f', 'g']
['g', 'c', 'd', 'f', 'a', 'b', 'e']

<6>.随机选择字符

  1. random.sample()随机取n个字符.必须有两个参数
    print(random.sample('hello world',5))
    输出['r', ' ', 'd', 'o', 'w']

  2. random.choice()随机选取一个字符
    print(random.choice('hello world'))
    输出r

你可能感兴趣的:(知识点)