random库

基本介绍:在python中,用于生成随机数的是random库。但random库生成的随机数是一种采用梅森旋转算法生成的伪随机数,不是真正的随机数,因为计算机是不能产生真正的随机数的。


1. seed()

随机数种子函数,默认参数a等于当前系统时间。如果参数a值固定,则随之产生的随机数也会是同一个值 (简而言之就是对random库里面产生“随机数”的函数定了一个标准参数)

示例:

import random
import time#这个可以不用
random.seed(a=1)
ran_num1 = random.random()
ran_num3 = random.randint(1, 6)
print("我是第一次随机结果:")
print(ran_num1)
print(ran_num3)
time.sleep(3)#加这个时间睡眠就是图运行好看
print("我是第二次随机结果:")
print(ran_num1)
print(ran_num3)

结果:


 2. random()

生成一个[0.0, 1.0)之间的随机小数 

a = 0
while a < 10:
    num = random.random()#可以不用写参数
    a += 1
    print(num)

3. randint() 

生成一个[a, b]之间的随机整数 

#randint
a = 0
while a < 5:
    num = random.randint(1, 5)#包括两端
    a += 1
    print(num)

4.uniform()

生成一个[a, b]之间的随机小数 

#uniform
a = 0
while a < 5:
    num = random.uniform(1, 7)#7.0000什么的也算
    a += 1
    print(num)

5.randrange()

生成一个[m,n)之间以k(默认为1)为步长的随机整数 (randint的改良)

#randrange
a = 0
while a < 5:
    num = random.randrange(1, 5,2)
    a += 1
    print(num)


6.choice()

序列中随机选择一个数

基本语法:random.choice(seq)#其中的seq可以是字符串,元组,或者列表

1.字符串:一个""就可以解决

2.元组:在choice()自带的括号里再加一个小括号,然后在里面按元组的方法书写

3.列表:加一个中括号书写

#choice
a = 0
while a < 5:
    num = random.choice('abcd')#这个是字符串
    a += 1
    print(num)

7.shuffle()

将列表元素顺序打乱,返回打乱后的列表 

#shuffle
l = [1, 2, 3, 4]
a = 0
while a < 5:
    random.shuffle(l)
    a += 1
    print(l)

8.sample()

从指定的序列seq中,随机返回n个元素,以列表形式返回

基本语法:sample(seq, n)

  • seq:元组、列表或字符串
  • n:选取元素个数
#sample
s = 'abcdfg'
a = 0
while a < 5:
    num = random.sample(s, 1)
    a += 1
    print(num)


补充round(x,y)函数

 参数

  • x:对象数
  • y:四舍五入的数值

y的一些值解释:

  • 如果 b 大于 0,则四舍五入到指定的小数位。
  • 如果 b 等于 0,则四舍五入到最接近的整数(得整)。
  • 如果 b 小于 0,则对整数部分的第b位进行四舍五入。

    random库的操练

    #测试金额字段,会不会自动补全两位小数
    #实现金额字段动态值
    import random
    def get_random_amount():
        '''
        实现金额字段动态值
        :return: random_amount
        '''
        #小于1的一位小数,两位小数值
        amount1 = round(random.random(), 1)
        amount2 = round(random.random(), 2)
        #整数
        amount3 = random.randint(1, 100)
        #1~100的一位小数,两位小数值
        amount4 = round(random.uniform(1, 100), 1)
        amount5 = round(random.uniform(1, 100), 2)
        #从5个金额值中随机返回一个
        randomList = [amount1, amount2, amount3, amount4, amount5]
        random_amount = random.sample(randomList, 1)[0]
        print(randomList)
        return random_amount
    #函数调用
    random_amount = get_random_amount()
    print(random_amount)
    

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值