python基础(五、结构程序逻辑)

本文介绍Python中使用random模块生成随机数的方法,并通过一个CRAPS骰子游戏实例演示如何利用这些函数进行游戏逻辑的编写。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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("游戏结束,打工去吧")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乘浪初心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值