1、random随机函数
python 提供随机生成随机数的函数
random 模块 最常用的函数
import 导入模块的关键字模块,就是指就有实现功能的作用的py文件
import random # 导入random 模块
1.1、int
import random # 导入random 模块
# random.random() 生成一个0 到 1 范围内的浮点数
print(random.random())
# random.randint(a,b) 随机生成指定的范围内的整数,a为下限,b为上限,a不能大于b,a必须小于b
print(random.randint(0,10))
结果:
0.6561399744100371
3
# print(random.randrange(a,b,stride(步长))) 从指定范围内,按指定基数递增的集合中随机取一位数
print(random.randrange(0,100,2))
# random.uniform(a.b) 用于生成一个指定范围内的随机浮点数,其中a参数是下限,b是上限 a < b 或 a > b
print(random.uniform(4,1))
结果:
90
1.6030404422703266
1.2、str
# random.choice() 随机一个字符串
a = "abcdefgjflil"
# 多个字符串选取特定的字符
print(random.choice(a))
结果:
d
print(random.choice(["aaa","小刘","小⑥","大涛"]))
# 洗牌
items = ["A",2,3,4,5,6,7,8,9,10,"J","Q","k"]
random.shuffle(items)
print(items)
结果
大涛
[10, 9, 'k', 'A', 8, 2, 6, 7, 'J', 3, 'Q', 4, 5]
2、CRAPS游戏
from random import randint
m = 1000
a = 0 # 玩家胜利次数
b = 0 # 庄家胜利次数
c = 1 # 下注次数
print("""
CRAPS游戏
游戏规则:1、玩家第一次摇骰子如果摇出了7点或11点,玩家胜
2、玩家第一次如果摇出2点、3点或12点,庄家胜
3、其他点数玩家继续摇骰子,
4、如果第二次玩家摇出了7点,庄家胜
5、如果玩家摇出了第一次摇的点数,玩家胜
6、其他点数,玩家继续要骰子,直到分出胜负
""")
while m >= 0:
if m <= 0:
break
flag = False
while True:
print( "你还有:", m )
debt = int(input(f"第{c}次下注:"))
if debt > m: # 下注不能超过本金
print("余额不足,充值")
tishi = input( "请选择是否充钱(1、充钱;输入其他退出游戏): " )
if tishi == "1":
chongzhi = int( input( "请输入充值金额(1、100,2,200,3、10000,4,退出):" ) )
if chongzhi == 1:
m = m + 100
print( "充值100成功,还有",m,"游戏币" )
elif chongzhi == 2:
m = m + 200
print( "充值200成功,还有",m,"游戏币")
elif chongzhi == 3:
m = m + 10000
print( "充值10000成功,还有",m,"游戏币")
elif chongzhi == 4:
print( "退出充值" )
break
else:
m = m + chongzhi
print( f"充值{chongzhi}成功,还有",m,"游戏币" )
break
elif debt == 0:
print("请大方一点")
break
c += 1
first = randint(1,6)+randint(1,6)
print(f"玩家第一次摇出点数为{first}") # 玩家第一次
if first == 7 or first == 11:
a += 1
print("玩家赢了:",a,"次")
m = m + debt
# print( "你还有:", m)
elif first == 2 or first == 3 or first == 12:
b += 1
print("庄家赢了:",b,"次")
m = m - debt
# print( "你还有:", m)
else:
flag = True
print("平局")
# 第二次
while flag:
flag = False
current = randint( 1, 6 ) + randint( 1, 6 )
print( f"玩家第二次摇出点数为{current}" )
if current == 7:
print("庄家赢")
m = m - debt
# print( "你还有:", m)
elif current == first:
print("玩家赢")
m = m + debt
# print( "你还有:", m)
else:
print("平局")
flag = True
break
print("游戏结束,打工去吧")