Python:CPU和人的21点对决
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,# coding:utf-8# __author__: 神仙也考试# __author time__: 2017/8/8import randomprint """需求: 1、初始CPU和人各随
千家信息网最后更新 2025年02月02日Python:CPU和人的21点对决
# coding:utf-8# __author__: 神仙也考试# __author time__: 2017/8/8import randomprint """需求: 1、初始CPU和人各随机拥有2张牌; 2、各计算得出初始2张牌的总数; 3、当拥有的牌数小于16点则自动新增一张牌; 4、新增的牌进入计算总和; 5、人的计算中:当大于等16点时候进行选择是否加牌;当加的牌大于等于22点,则自动停止; 6、CPU的计算中:当小于16点则自动新增牌并计算;当大于16点则自动停止; 7、最后得出的值进行比较 8、比较规则: 【1】都大于等于22点,则和局; 【2】都小于22点时,若两个数相等,则和局; 【3】点数大者为赢,点数小者为输。"""print "*************** 开始游戏 ***************"# 初始化4个随机1-10的整数number1 = random.randint(1, 10)number2 = random.randint(1, 10)number3 = random.randint(1, 10)number4 = random.randint(1, 10)# 初始化CPU和人的随机列表man_numbers = [number1, number2]cpu_numbers = [number3, number4]# 初始化CPU和人的总数man_count = 0cpu_count = 0# 初始化循环标识flag_cpu = 1flag_man = 1# **************************************# ############# 定义人行为 ############## **************************************# 计算初始人得到的总数for i in man_numbers: man_count = man_count + iprint "你拥有的牌是 %s " % man_numbersprint "你的牌数总计点数是 %s" % man_countif man_count < 16: # 小于16则继续自动添加牌到16点以上 print "拥有的牌数小于16点,自动添加新牌到16点以上..." while flag_man == 1: man_random1 = random.randint(1, 10) # 获得随机值,保证每次取到的都是一个新的随机值 man_numbers.append(man_random1) # 把获得的随机值添加到列表中 man_count = man_count + man_numbers[-1] # 始终加上列表的最后一个值 if man_count >= 16 and man_count <22: while flag_man == 1: print "你拥有的牌数点数大于16点,总数为 %s,是否需要继续添加新牌?" % man_count print "任意键表示继续要牌,输入大写Q或小写q,表示退出!" get_key = raw_input("请输入:\n") if get_key == 'Q' or get_key == 'q': flag_man = 0 else: man_random2 = random.randint(1, 10) # 获得随机值,保证每次取到的都是一个新的随机值 man_numbers.append(man_random2) # 把获得的随机值添加到列表中 man_count = man_count + man_numbers[-1] # 始终加上列表的最后一个值 if man_count >= 22: flag_man = 0 if man_count >= 22: flag_man = 0 print """******************************""" print "当前你的牌数总数是 %s" % man_count print "当前你拥有的牌是 %s" % man_numberselse: while flag_man == 1: print "你拥有的牌数点数大于16点,总数为 %s,是否需要继续添加新牌?" % man_count print "任意键表示继续要牌,输入大写Q或小写q,表示退出!" get_key = raw_input("请输入:\n") if get_key == 'Q' or get_key == 'q': flag_man = 0 else: man_random3 = random.randint(1, 10) # 获得随机值,保证每次取到的都是一个新的随机值 man_numbers.append(man_random3) # 把获得的随机值添加到列表中 man_count = man_count + man_numbers[-1] # 始终加上列表的最后一个值 if man_count >= 22: flag_man = 0 print """******************************""" print "当前你的牌数总数是 %s" % man_count print "当前你拥有的牌是 %s" % man_numbers# **************************************# ############# 定义CPU行为 ############# **************************************# 计算初始CPU得到的总数for j in cpu_numbers: cpu_count = cpu_count + jif cpu_count < 16: while flag_cpu == 1: # CPU获取随机值 cpu_random1 = random.randint(1, 10) cpu_numbers.append(cpu_random1) cpu_count = cpu_count + cpu_numbers[-1] if cpu_count >= 16: flag_cpu = 0 print """******************************""" print "CPU的总和是 %s" % cpu_count print "当前CPU拥有的牌是 %s" % cpu_numberselse: print """******************************""" print "CPU的总和是 %s" % cpu_count print "当前CPU拥有的牌是 %s" % cpu_numbers# **************************************# ######### 比较CPU和人的值 ############ **************************************print """******************************"""if man_count >= 22 and cpu_count < 22: print "CPU赢了..." print "你的总数大于22,你输了..."elif man_count < 22 and cpu_count >= 22: print "你赢了..." print "CPU的总数大于22,CPU输了..."elif man_count <= 21 and cpu_count <= 21: if man_count > cpu_count: print "你赢了..." print "你的总数为:%s" % man_count print "CPU输了..." print "CPU的总数为:%s" % cpu_count elif man_count < cpu_count: print "CPU赢了..." print "CPU的总数为:%s" % cpu_count print "你输了..." print "你的总数为:%s" % man_count else: print "和局..." print "你和CPU的总数都为:%s" % man_countelse: print "和局..." print "你和CPU的总数都大于22..."print "*************** 游戏结束 ***************"
总数
和局
总和
点数
行为
输入
两个
大写
小写
小者
整数
时候
标识
神仙
规则
需求
保证
循环
考试
选择
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
手游架设服务器吗
cs1.6服务器网页管理
服务器再次出现问题怎么办
软件开发中数据库
任子行网络技术股份有限
安卓手机数据库文件
后台程序开发与服务器开发
可沥滤物数据库检索
kvm 服务器 管理工具
云服务器 网站
歌尔软件开发是单休还是双休
青海信创服务器
杭州物流软件开发收费
开发联网软件开发
江苏前端软件开发大概多少钱
华为gpu服务器初始密码
济南市浪潮服务器销售哪家好
服务器的管理卡是什么
服务器冗余电源接口
国家网络安全应急中心副主任
数据库授权规则安全性
两个数据库的数据读写
服务器如何停掉安全狗
护苗网络安全课宣传语
建站之星数据库连接
麻醉质量安全数据库
软件开发交接清单
永州网络安全培训
博雅数据库安徽2021高考
光遇服务器为什么登不进