Python-random模块(随机数)

random模块的常用方法

方法使用说明
random.random()随机生成一个0-1之间的浮点数
random.randint(start,stop)随机生成一个start,stop之间的整数
random.randrange(start,stop,step)随机生成一个start,stop之间的整数
random.choice(sequence)从一个序列中随机选择一个元素
random.shuffle(sequence)随机打乱列表的顺序,原列表发生变化
random.sample(population,k)从集合中随机抽取K个不重复的元素形成新的序列,返回的是一个新的序列,不会破坏原有序列。

针对浮点数

import random as ra
#random.random() 随机生成一个浮点数
print(ra.random()) #0.7025318415790162

针对整数

import random as ra
"""
random.randint(start,stop) 随机生成一个start,stop之间的整数 
随机产生start-stop之间的整数,包括start和stop。
"""
for i in range(10):
    a = ra.randint(0,10)
    print(a)
   
"""
random.randrange(start,stop,step)  随机生成一个start,stop之间的整数 
1.random.randrange(stop)  不写start,默认是0
2.左开右闭
3.step 步长,间隔
"""
#a = ra.randrange(10) #0-9之间的数据,不包含10
#a = ra.randrange(1,10) #1-10,不包含10
a = ra.randrange(1,10,2) #步长2,相当于奇数
print(a)

针对序列类型

import random as ra
"""
random.randint(start,stop) 随机生成一个start,stop之间的整数 
随机产生start-stop之间的整数,包括start和stop。
"""
for i in range(10):
    a = ra.randint(0,10)
    print(a)
   
"""
random.randrange(start,stop,step)  随机生成一个start,stop之间的整数 
1.random.randrange(stop)  不写start,默认是0
2.左开右闭
3.step 步长,间隔
"""
#a = ra.randrange(10) #0-9之间的数据,不包含10
#a = ra.randrange(1,10) #1-10,不包含10
a = ra.randrange(1,10,2) #步长2,相当于奇数
print(a)


import random as ra

#random.shuffle(sequence)  随机打乱列表的顺序,原列表发生变化 
#自能是列表类型
String01 = "I love you" #报错 字符串是字母有序的组合
list01 = ["张三","李四","王五","赵六"] 
tuple01 = (1,2,3)  #报错
dict01 = {"张三":14,"王五":20,"李四":40} #报错
set01 = {1,2,3,4} #报错
ra.shuffle(list01)
print(list01)

import random as ra
#random.sample(population,k) 从序列中随机抽取k个元素,返回一个新元素
#字典不可以
String01 = "I love you" 
list01 = ["张三","李四","王五","赵六"] 
tuple01 = (1,2,3)
dict01 = {"张三":14,"王五":20,"李四":40} #报错
set01 = {1,2,3,4} 
a= ra.sample(set01,3)
print(a)

练习

1.随机生成3个0-9之间的整数,若其中有两个值相等,则提示中奖,否则提示谢谢参与

#随机生成3个0-9之间的整数,若其中有两个值相等,则提示中奖,否则提示谢谢参与
import random
a1 = int(random.random()*10)
a2 = int(random.random()*10)
a3 = int(random.random()*10)
print(a1,a2,a3)
if a1==a2 or a2==a3 or a1==a3:
     print("中奖")
else:
     print("谢谢参与")

2.红包随机。 比如30元随机4个红包,

import random
#分配红包函数---fphb
#红包的总个数--zNumber
#红包的钱数,以分为单位---money
def fphb(zNumber, money):
    result = []
    number = zNumber
    #依据红包总个数遍历,有四个红包,就遍历四次
    for i in range(zNumber):
        #红包总个数不断的在减一
        number -= 1
        #红包个数大于0证明还有人没领红包
        if number > 0:
            #随机分钱,范围在1-
            m = random.randint(1, money)
        else:
            #最后一个人拿到剩下的钱
            m = money
        #把分出去的钱减去
        money -= m
        #结果从分换算成了元
        result.append(m / 100.0)
    return result

n = int(input('红包个数:'))
#为什么money要乘100,我们的单位是分
m = eval(input('总金额:') * 100)
list01= fphb(n, m)
print(list01)
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值