目录
2.1产生指定范围内浮点数 random.uniform(a,b) (a是下限,b是上线)
2.2 产生0-1之间浮点数 random.random()
2.3 产生一个指定范围内的整数 random.randint(a,b) (a是下限,b是上线)
2.4 产生一个从指定范围中,按指定基数递增的集合中获取一个随机数 random.randrange( start,stop,step)
2.5 从序列中获取一个随机元素 random.choice(sequence)
2.6 用于将一个列表中的元素打乱,会修改lst本身 random.shuffle(x,[random])
2.7 从指定序列中随机获取指定长度的片段,不会修改序列本身 random.sample(sequence,k)
1.游戏题目:
# 导入random包,产生随机数
import random
str1 = ""
gold = 1000
while gold > 100:
if str1 == "exit":
break
su = 0
for i in range(3):
num = random.randrange(1, 7)
su = su + num
str1 = input("请输入你认为的大或小:")
if su >= 11 and str1 == "大":
gold += 100
print(f'恭喜你猜对了,你的金豆还有{gold}个')
elif su < 10 and str1 == "小":
gold += 100
print(f'恭喜你猜对了,你的金豆还有{gold}个')
elif su > 10 and str1 == "小":
gold -= 100
print(f'猜错了,你的金豆还有{gold}个')
elif su < 10 and str1 == "大":
gold -= 100
print(f"猜错了,你的金豆还有{gold}个")
2.补充知识:random()包的基本使用方法
2.1产生指定范围内浮点数 random.uniform(a,b) (a是下限,b是上线)
import random
a = random.uniform(0, 10)
print(a)
# 如果你想限制小数点的位数
# 保留两位小数
print("%.2f"%a)
# 1.8539326915013
# 1.85
2.2 产生0-1之间浮点数 random.random()
import random
a = random.random()
print(a)
# 如果你想限制小数点的位数
# 保留两位小数
print("%.2f"%a)
# 0.9188118432042831
# 0.92
2.3 产生一个指定范围内的整数 random.randint(a,b) (a是下限,b是上线)
import random
a = random.randint(0, 10)
print(a)
# 6
2.4 产生一个从指定范围中,按指定基数递增的集合中获取一个随机数 random.randrange( start,stop,step)
import random
# 从0到10自增为2的集合(0,2,4,6,8,10)中随机取一个数
a = random.randrange(0, 10, 2)
print(a)
# 4
2.5 从序列中获取一个随机元素 random.choice(sequence)
import random
# 从lst和tuple中随机获取一个数
lst = [1, 2, 3, 4]
tuple1 = (1, 2, "kai")
l = random.choice(lst)
t = random.choice(tuple1)
print(l)
print(t)
# 3
# 2
2.6 用于将一个列表中的元素打乱,会修改lst本身 random.shuffle(x,[random])
import random
# 打乱lst中的数据
lst = [1, 2, 3, 4]
random.shuffle(lst)
print(lst)
# [1, 3, 2, 4]
2.7 从指定序列中随机获取指定长度的片段,不会修改序列本身 random.sample(sequence,k)
import random
# 从lst中截取前三个数
lst = [1, 2, 3, 4]
l = random.sample(lst, 3)
print(l)
# [3, 2, 1]
2.8 随机数种子
随机数种子(random seed)在伪随机数生成器中用于生成伪随机数的初始数值。对于一个伪随机数生成器,从相同的随机数种子出发,可以得到相同的随机数序列。随机数种子通常由当前计算机状态确定,如当前的时间。