Python—随机数函数

Python—随机数函数

Python包含以下常用随机数函数:

函数描述
choice(seq)从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。
randrange ([start,] stop [,step])从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为 1
random()随机生成下一个实数,它在[0,1)范围内。
seed([x])改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。
shuffle(lst)将序列的所有元素随机排序
uniform(x, y)随机生成下一个实数,它在[x,y]范围内。

choice()函数
注意:choice()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法。
代码

import random
choice_seq = [1, 3, 5, 7, 9, 2, 4, 6, 8, 0]
for i in range(5):
    print(random.choice(choice_seq))

结果:

2
7
8
4
5

randrange ([start,] stop [,step])
注意:randrange()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法。

  • start – 指定范围内的开始值,包含在范围内。
  • stop – 指定范围内的结束值,不包含在范围内。
  • step – 指定递增基数。默认为1

代码

#!/usr/bin/python3
import random
# 从 1-100 中选取一个奇数
print ("randrange(1,100, 2) : ", random.randrange(1, 100, 2))
 
# 从 0-99 选取一个随机数
print ("randrange(100) : ", random.randrange(100))

运行结果

randrange(1,100, 2) :  97
randrange(100) :  42

random() 函数
random() 方法返回随机生成的一个实数,它在[0,1)范围内。
注意:random()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法。

代码

#!/usr/bin/python3
import random

# 第一个随机数
print ("random() : ", random.random())

# 第二个随机数
print ("random() : ", random.random())

运行结果

random() :  0.09690599908884856
random() :  0.8732120512570916

shuffle(seq) 函数
shuffle() 方法将列表序列的所有元素随机排序。
注意:shuffle() 是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法。

代码

#!/usr/bin/python3
import random
 
list = [20, 16, 10, 5];
random.shuffle(list)
print ("随机排序列表 : ",  list)
 
random.shuffle(list)
print ("随机排序列表 : ",  list)

结果

随机排序列表 :  [20, 5, 16, 10]
随机排序列表 :  [5, 20, 10, 16]

uniform() 函数
uniform() 方法将随机生成下一个实数,它在 [x,y] 范围内。
注意:uniform()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法。

代码

#!/usr/bin/python3
import random
 
print ("uniform(5, 10) 的随机浮点数 : ",  random.uniform(5, 10))
 
print ("uniform(7, 14) 的随机浮点数 : ",  random.uniform(7, 14))
uniform(5, 10) 的随机浮点数 :  7.054602800254241
uniform(7, 14) 的随机浮点数 :  12.552229882744296
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值