python 21点

2023-11-14

21点,你可以叫我仁哥,也可以叫我情哥。mua !没请教

21点黑杰克

废话不多说先上代码

代码部分

import random
import time#延时的这里可以用用
huase=['a','b','c','d']#定义花色
#print(str(pukepai[0]))
dianshu=['A','2','3','4','5','6','7','8','9','10','J','Q','K']#定义点数
#定义每个操作的函数
def print3():#可视化
    print()
    print()
    print()
def fapai():#定义一个发牌函数(单个发牌)
    a=str(random.choice(huase))#从花色与点数随机抽出可以保证随机性
    b=str(random.choice(dianshu))#另一方面也保证了牌量为正无穷增强可玩性
    c=a+b
    if b=='A':
        d=int(input("你发到了A,你选择A的大小是?"))
    elif b=='J' or b=='Q' or b=='K':
        d=10
    else:
        d=int(b)
    return [c,d]#返回一个list,[牌,大小]
def fapai1(a,b):#直接一轮
    for i in range(1,len(a)):
        f=fapai()
        a[i].append(f[0])#牌
        daxiao=b[i]#先定义一个变量储存之前的大小
        del b[i:i+1]#list不能直接改变,所有先删除再添加
        b.insert(i,daxiao+f[1])#添加
def suanqian(person,beishu,i,diqian,b):#算钱的
    qian1=person[i][1]
    del person[i][1]
    person[i].insert(1,qian1+beishu[i]*diqian*b)
    qian1=person[0][1]
    del person[0][1]
    person[0].insert(1,qian1-beishu[i]*diqian*b)
print("准备好了吗?游戏开始!")
flag0=1
persons=int(input("游戏有一共多少人参加:"))
qian=int(input("每个人初始钱多少?(如果想要更好的体验该变量越大越好;建议10000):"))
diqian=int(input("赌多大?小赌怡情,大赌伤身。(还有如果想要更好的体验该变量越小越好;建议100)"))
person=[[]]#每个玩家的钱用list表示
beishu=[1]*persons#记录闲家的倍数
person[0].append("庄家")
person[0].append(qian)#person[0]记录庄家
for i in range(1,persons):
    b=["闲家"+str(i),qian]
    person.append(b)
print("每个人的钱数目")
print(person)
##########################################################################################################################################
while flag0==1:
    touxiang=[0]*persons#投降?不存在!
    dianshudaxiao=[0]*persons#记录大小算最后的输赢
    pai=[[]]#记录牌
    pai[0].append("庄家的牌:")
    for i in range(1,persons):#每个闲家的牌
        b=["闲家"+str(i)+"的牌:"]
        pai.append(b)
    print("开始发牌!唰唰唰。。。。")
    fapai1(pai,dianshudaxiao)
    time.sleep(3)
    print(pai)
    print(dianshudaxiao)
    print("再发一轮")
    fapai1(pai,dianshudaxiao)
    time.sleep(3)
    print(pai)
    print("开始发庄家的牌,第一张明牌")
    f=fapai()
    pai[0].append(f[0]+"(明牌)")
    daxiao=dianshudaxiao[0]
    del dianshudaxiao[0:1]
    dianshudaxiao.insert(0,daxiao+f[1])
    time.sleep(3)
    print(pai)
    print("第二张牌暗牌")
    f=fapai()
    pai[0].append(f[0]+"(暗牌)")
    daxiao=dianshudaxiao[0]
    del dianshudaxiao[0:1]
    dianshudaxiao.insert(0,daxiao+f[1])
    time.sleep(3)
    print(pai)
    print("大小(自己不会算!?)",end=" ")
    print(dianshudaxiao)
    for i in range(1,persons):#每个闲家发话
        print3()
        while True:
            bs=1
            print("闲家"+str(i)+"请发话你现在的大小是"+str(dianshudaxiao[i])+",大于17的话就建议不要继续发牌了")
            xuanze=int(input("请选择:1,继续发牌。2,停牌。3,投降。4,加倍。"))
            if xuanze==1:
                f=fapai()
                pai[i].append(f[0])
                daxiao=dianshudaxiao[i]
                del dianshudaxiao[i:i+1]
                dianshudaxiao.insert(i,daxiao+f[1])
                print("现在牌情况")
                print(pai)
                print(dianshudaxiao)
                if dianshudaxiao[i]>21:
                    print("不好意思你爆了!点数大于了21")
                    del dianshudaxiao[i:i+1]
                    dianshudaxiao.insert(i,0)
                    break
            if xuanze==2:
                break
            if xuanze==3:
                beishu[i]=0.5
                suanqian(person,beishu,i,diqian,-1)
                touxiang[i]=1
                break
            if xuanze==4:
                bs1=int(input("加几倍?"))
                beishu[i]=bs*bs1
                break
    print("现在到了庄家阶段")
    while True:
        print3()
        print("庄家"+"请发话你现在的大小是"+str(dianshudaxiao[0])+"大于17的话就建议不要继续发牌了")
        xuanze=int(input("请选择:1,继续发牌。2,停牌。"))
        if xuanze==1:
            f=fapai()
            pai[0].append(f[0])
            daxiao=dianshudaxiao[0]
            del dianshudaxiao[0:0+1]
            dianshudaxiao.insert(0,daxiao+f[1])
            print("现在牌情况")
            print(pai)
            print(dianshudaxiao)
            if dianshudaxiao[0]>21:
                print("不好意思庄家你爆了!点数大于了21")
                del dianshudaxiao[0:0+1]
                dianshudaxiao.insert(0,0)
                break
        if xuanze==2:
            break
        #计算输赢
    print3()
    print("这局结束,庄家与闲家的点数为:",end=' ')
    print(dianshudaxiao)
    for i in range(1,persons):
        if dianshudaxiao[i]>dianshudaxiao[0] and touxiang[i]==0:
            print("闲家"+str(i)+"的点数为"+str(dianshudaxiao)+"大于庄家。闲家"+str(i)+"赢")
            suanqian(person,beishu,i,diqian,1)
        if dianshudaxiao[i]<dianshudaxiao[0] and touxiang[i]==0:
            print("闲家"+str(i)+"的点数为"+str(dianshudaxiao)+"小于庄家。庄家赢")
            suanqian(person,beishu,i,diqian,-1)
        if dianshudaxiao[i]==dianshudaxiao[0] and touxiang[i]==0:
            print("闲家"+str(i)+"的点数为"+str(dianshudaxiao)+"等于庄家。平局")
    print("各个闲家的倍数为:")
    print(beishu[1:])
    print("这局结果")
    print(person)
    flag0=int(input("继续游戏(1)还是结束游戏(0)?"))
print("最终结果为")
print(person)

相关说明(我做的是一个简化了的21点没有分牌操作)

21点玩法规则(自己定了一个简化的玩法)
开局时,庄家给每个玩家牌面向上发两张牌(明牌)。再给自己发两张牌,一张明牌,一张暗牌玩家可以选择“继续拿牌、停牌、加倍(初始倍数为1)、或投降(庄家赢得一半赌注);”当所有玩家停止拿牌后,庄家翻开暗牌,并持续拿牌直至庄家停牌(他以为最大后 )最后庄家与闲家比大小。 大家手中扑克点数的计算是:2至9牌,按其原点数计算;K、Q、J和10牌都算作10点(一般记作T,即ten之意);A 牌(ace)既可算作1点也可算作11点, 由玩家自己决定 比大小:每张牌组成由字母与数字组成(a表示黑桃,b表示红桃,c表示梅花,d表示方块)不分花色;21点最大,超过21则表示爆掉直接输了¶
在这里插入图片描述
喂!老王。什么今晚去朋友家打21点?好好那你照顾好我老婆我马上去。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 21点 的相关文章

  • 是否有解决方法可以通过 CoinGecko API 安全检查?

    我在工作中运行我的代码 一切都很顺利 但在不同的网络 家庭 WiFi 上 我不断收到403访问时出错CoinGecko V3 API https www coingecko com api documentations v3 可以观察到 在
  • 中断 Select 以添加另一个要在 Python 中监视的套接字

    我正在 Windows XP 应用程序中使用 TCP 实现点对点 IPC 我正在使用select and socketPython 2 6 6 中的模块 我有三个 TCP 线程 一个读取线程通常会阻塞select 一个通常等待事件的写入线程
  • 元组有什么用?

    我现在正在学习 Python 课程 我们刚刚介绍了元组作为数据类型之一 我阅读了它的维基百科页面 但是 我无法弄清楚这种数据类型在实践中会有什么用处 我可以提供一些需要一组不可变数字的示例吗 也许是在 Python 中 这与列表有何不同 每
  • 如何用python脚本控制TP LINK路由器

    我想知道是否有一个工具可以让我连接到路由器并关闭它 然后从 python 脚本重新启动它 我知道如果我写 import os os system ssh l root 192 168 2 1 我可以通过 python 连接到我的路由器 但是
  • Python 中的舍入浮点问题

    我遇到了 np round np around 的问题 它没有正确舍入 我无法包含代码 因为当我手动设置值 而不是使用我的数据 时 返回有效 但这是输出 In 177 a Out 177 0 0099999998 In 178 np rou
  • 处理 Python 行为测试框架中的异常

    我一直在考虑从鼻子转向行为测试 摩卡 柴等已经宠坏了我 到目前为止一切都很好 但除了以下之外 我似乎无法找出任何测试异常的方法 then It throws a KeyError exception def step impl contex
  • 使用Python请求登录Google帐户

    在多个登录页面上 需要谷歌登录才能继续 我想用requestspython 中的库以便让我自己登录 通常这很容易使用requests库 但是我无法让它工作 我不确定这是否是由于 Google 做出的一些限制 也许我需要使用他们的 API 或
  • Pandas Merge (pd.merge) 如何设置索引和连接

    我有两个 pandas 数据框 dfLeft 和 dfRight 以日期作为索引 dfLeft cusip factorL date 2012 01 03 XXXX 4 5 2012 01 03 YYYY 6 2 2012 01 04 XX
  • 如何在 Python 中解析和比较 ISO 8601 持续时间? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个 Python v2 库 它允许我解析和比较 ISO 8601 持续时间may处于不同单
  • 从Python中的字典列表中查找特定值

    我的字典列表中有以下数据 data I versicolor 0 Sepal Length 7 9 I setosa 0 I virginica 1 I versicolor 0 I setosa 1 I virginica 0 Sepal
  • 如何通过 TLS 1.2 运行 django runserver

    我正在本地 Mac OS X 机器上测试 Stripe 订单 我正在实现这段代码 stripe api key settings STRIPE SECRET order stripe Order create currency usd em
  • Numpy - 根据表示一维的坐标向量的条件替换数组中的值

    我有一个data多维数组 最后一个是距离 另一方面 我有距离向量r 例如 Data np ones 20 30 100 r np linspace 10 50 100 最后 我还有一个临界距离值列表 称为r0 使得 r0 shape Dat
  • 如何断言 Unittest 上的可迭代对象不为空?

    向服务提交查询后 我会收到一本字典或一个列表 我想确保它不为空 我使用Python 2 7 我很惊讶没有任何assertEmpty方法为unittest TestCase类实例 现有的替代方案看起来并不正确 self assertTrue
  • 如何在 pygtk 中创建新信号

    我创建了一个 python 对象 但我想在它上面发送信号 我让它继承自 gobject GObject 但似乎没有任何方法可以在我的对象上创建新信号 您还可以在类定义中定义信号 class MyGObjectClass gobject GO
  • python import inside函数隐藏现有变量

    我在我正在处理的多子模块项目中遇到了一个奇怪的 UnboundLocalError 分配之前引用的局部变量 问题 并将其精简为这个片段 使用标准库中的日志记录模块 import logging def foo logging info fo
  • Python ImportError:无法导入名称 __init__.py

    我收到此错误 ImportError cannot import name life table from cdc life tables C Users tony OneDrive Documents Retirement retirem
  • Django-tables2 列总计

    我正在尝试使用此总结列中的所有值文档 https github com bradleyayers django tables2 blob master docs pages column headers and footers rst 但页
  • 如何应用一个函数 n 次? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 假设我有一个函数 它接受一个参数并返回相同类型的结果 def increment x return x 1 如何制作高阶函数repeat可以
  • Pandas 每周计算重复值

    我有一个Dataframe包含按周分组的日期和 ID df date id 2022 02 07 1 3 5 4 2022 02 14 2 1 3 2022 02 21 9 10 1 2022 05 16 我想计算每周有多少 id 与上周重
  • 使用随机放置的 NaN 创建示例 numpy 数组

    出于测试目的 我想创建一个M by Nnumpy 数组与c随机放置的 NaN import numpy as np M 10 N 5 c 15 A np random randn M N A mask np nan 我在创建时遇到问题mas

随机推荐

  • WSL和VM的不兼容问题

    目前的问题是鱼与熊掌不可兼得 所以每次只能用一个 假如要用wsl2 则执行 dism exe online enable feature featurename VirtualMachinePlatform all norestart ws
  • SQL 常用优化实践

    对查询进行优化 要尽量避免全表扫描 首先应考虑在 where 及 order by 涉及的列上建立索引 应尽量避免在 where 子句中对字段进行 null 值判断 否则将导致引擎放弃使用索引而进行全表扫描 如 select id from
  • 神位纷争服务器维护,神位纷争steam版3月12日版本更新公告

    Steam上的神位纷争即将迎来重大版本更新 以下更新也将在之后的移动端版本中体现 本次更新将在3月12日下午推送至Steam版本的 神位纷争 另外需要补充一句的是 神位纷争HD已可免费游玩了 欢迎各位玩家前往体验 系统 1 对战系统相关改动
  • 软件版本号的意思是什么?从PC到安卓,带你了解版本号命名逻辑

    猫三科技杂烩 18 12 2114 49 很多朋友在安装软件的时候都会注意到软件下方一行意义不明的版本号 有的软件会用x x x逻辑命名版本号 有的软件则是x x x x 而windows系统的版本号例如1803就更让人摸不到头脑了 那么这
  • Transformer——《Attention is all you need》

    本文是Google 机器翻译团队在2017 年发表 提出了一个新的简单的网络模型 Transformer 该模型基于纯注意力机制 Attention mechanisms 完全抛弃了RNN和CNN网络结构 在机器翻译任务上取得了很好的效果
  • 设计和开发如何获取真实的客户产品需求

    某富翁想要娶老婆 有三个人选 富翁给了三个女孩各一千元 请她们把房间装满 第一个女孩买了很多棉花 装满房间的1 2 第二个女孩买了很多气球 装满房间3 4 第三个女孩买了蜡烛 让光线充满房间 最终 富翁选了胸部最大的那个 这个故事告诉我们
  • 五种开源协议的具体区别

    1 BSD开源协议 original BSD license FreeBSD license Original BSD license 修改源码后可以选择闭源 修改后的文档不用进行版权说明 衍生软件的广告不能用你的名字促销 2 Apache
  • 爬虫Scrapy框架之学习使用(三):信号(Signals)

    Extension for collecting core stats like items scraped and start finish times import datetime from scrapy import signals
  • 【分布式-Redis应用】Spring中Redis使用项目实战(持续更新...)

    TOC 目录标题 场景及代码示例 1 list集合存储到Redis以及读取 import org springframework data redis core StringRedisTemplate Autowired private S
  • qt对excel的基本操作

    qt对excel的基本操作 1 环境 1 1 配置方面 确保Excel软件在本地服务器注册成功 没注册成功的可以通过 在运行中 E program Files Microsoft Office Office12 EXCEL EXE regs
  • 代数余子式与伴随矩阵

    关系 例题 伴随矩阵运算
  • redis配置文件限制只能本地访问问题,虚拟机无法访问

    解决 修改配置文件 daemonize no 用守护线程的方式启动 requirepass yourpassword 给redis设置密码 bind 192 168 1 1 注释掉这部分 这是限制redis只能本地访问 appendonly
  • 双栈排序 二分图匹配

    题目链接 https www acwing com problem content description 155 题目 Tom最近在研究一个有趣的排序问题 通过2个栈S1和S2 Tom希望借助以下4种操作实现将输入序列升序排序 操作a 如
  • (十一)jmeter-集合点---学习笔记

    集合点 简单来理解一下 虽然我们的 性能测试 理解为 多用户并发测试 但真正的并发是不存在的 为了更真实的实现并发这感念 我们可以在需要压力的地方设置集合点 每到输入用户名和密码登录时 所有的虚拟用户都相互之间等一等 然后 一起访问 注意
  • Acwing-4655. 重新排序

    我们可以累计每个 A i 的被求和次数 c i 容易贪心得到 被求和次数越多的肯定得放越大的数 我们可以先统计原来的求和的总和 sum 再给 A 数组和统计求和次数的数组 c 从小到大排好序 最后依次相乘起来即 i 1 n a i c i
  • Win10+VS2015编译caffe踩坑记录

    跑HTM的代码要用到caffe的库 从学长那拷过来的工程里是用VS2013编译的 只能用自己的VS2015重新编译一下 记录一下编译过程 环境 Windows10 VS2015 cuda8 0 cudnn5 1 CMake3 17 0 An
  • 漂亮的弹出框,javascript库bootbox介绍

    传统的javascript的警告框 确认框 提示框
  • 【数字图像处理】三.MFC实现图像灰度、采样和量化功能详解

    本文主要讲述基于VC 6 0 MFC图像处理的应用知识 主要结合自己大三所学课程 数字图像处理 及课件进行讲解 主要通过MFC单文档视图实现显示BMP格式图片 并通过Bitmap进行灰度处理 图片采样和量化功能 个人认为对初学者VC 6 0
  • python 如何解决 No module named ‘pip‘问题

    在下载python第三方库的时候 突然报错 解决方法很简单 两行代码就行了 python m ensurepip easy install pip 此时下载 还不行 提示说要更新pip python m pip install upgrad
  • python 21点

    21点 你可以叫我仁哥 也可以叫我情哥 mua 没请教 21点黑杰克 代码部分 相关说明 我做的是一个简化了的21点没有分牌操作 21点黑杰克 废话不多说先上代码 代码部分 import random import time 延时的这里可以