Python:CPU和人的21点对决-创新互联

# coding:utf-8 # __author__: 神仙也考试 # __author time__: 2017/8/8 import random print """ 需求:     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 = 0 cpu_count = 0 # 初始化循环标识 flag_cpu = 1 flag_man = 1 # ************************************** # ############# 定义人行为 ############# # ************************************** # 计算初始人得到的总数 for i in man_numbers:     man_count = man_count + i print "你拥有的牌是 %s " % man_numbers print "你的牌数总计点数是 %s" % man_count if 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_numbers else:     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 + j if 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_numbers else:     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_count else:     print "和局..."     print "你和CPU的总数都大于22..." print "*************** 游戏结束 ***************"

10年积累的网站建设、网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先做网站后付款的网站建设流程,更有武汉免费网站建设让你可以放心的选择与我们合作。

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


标题名称:Python:CPU和人的21点对决-创新互联
地址分享:http://pwwzsj.com/article/dgsiie.html