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)