# coding:utf-8
# __author__: 神仙也考試
# __author time__: 2017/8/8
import random
print """
需求:
1、初始CPU和人各隨機(jī)擁有2張牌;
2、各計(jì)算得出初始2張牌的總數(shù);
3、當(dāng)擁有的牌數(shù)小于16點(diǎn)則自動(dòng)新增一張牌;
4、新增的牌進(jìn)入計(jì)算總和;
5、人的計(jì)算中:當(dāng)大于等16點(diǎn)時(shí)候進(jìn)行選擇是否加牌;當(dāng)加的牌大于等于22點(diǎn),則自動(dòng)停止;
6、CPU的計(jì)算中:當(dāng)小于16點(diǎn)則自動(dòng)新增牌并計(jì)算;當(dāng)大于16點(diǎn)則自動(dòng)停止;
7、最后得出的值進(jìn)行比較
8、比較規(guī)則:
【1】都大于等于22點(diǎn),則和局;
【2】都小于22點(diǎn)時(shí),若兩個(gè)數(shù)相等,則和局;
【3】點(diǎn)數(shù)大者為贏,點(diǎn)數(shù)小者為輸。
"""
print "*************** 開(kāi)始游戲 ***************"
# 初始化4個(gè)隨機(jī)1-10的整數(shù)
number1 = random.randint(1, 10)
number2 = random.randint(1, 10)
number3 = random.randint(1, 10)
number4 = random.randint(1, 10)
# 初始化CPU和人的隨機(jī)列表
man_numbers = [number1, number2]
cpu_numbers = [number3, number4]
# 初始化CPU和人的總數(shù)
man_count = 0
cpu_count = 0
# 初始化循環(huán)標(biāo)識(shí)
flag_cpu = 1
flag_man = 1
# **************************************
# ############# 定義人行為 #############
# **************************************
# 計(jì)算初始人得到的總數(shù)
for i in man_numbers:
man_count = man_count + i
print "你擁有的牌是 %s " % man_numbers
print "你的牌數(shù)總計(jì)點(diǎn)數(shù)是 %s" % man_count
if man_count < 16: # 小于16則繼續(xù)自動(dòng)添加牌到16點(diǎn)以上
print "擁有的牌數(shù)小于16點(diǎn),自動(dòng)添加新牌到16點(diǎn)以上..."
while flag_man == 1:
man_random1 = random.randint(1, 10) # 獲得隨機(jī)值,保證每次取到的都是一個(gè)新的隨機(jī)值
man_numbers.append(man_random1) # 把獲得的隨機(jī)值添加到列表中
man_count = man_count + man_numbers[-1] # 始終加上列表的最后一個(gè)值
if man_count >= 16 and man_count <22:
while flag_man == 1:
print "你擁有的牌數(shù)點(diǎn)數(shù)大于16點(diǎn),總數(shù)為 %s,是否需要繼續(xù)添加新牌?" % man_count
print "任意鍵表示繼續(xù)要牌,輸入大寫(xiě)Q或小寫(xiě)q,表示退出!"
get_key = raw_input("請(qǐng)輸入:\n")
if get_key == 'Q' or get_key == 'q':
flag_man = 0
else:
man_random2 = random.randint(1, 10) # 獲得隨機(jī)值,保證每次取到的都是一個(gè)新的隨機(jī)值
man_numbers.append(man_random2) # 把獲得的隨機(jī)值添加到列表中
man_count = man_count + man_numbers[-1] # 始終加上列表的最后一個(gè)值
if man_count >= 22:
flag_man = 0
if man_count >= 22:
flag_man = 0
print """******************************"""
print "當(dāng)前你的牌數(shù)總數(shù)是 %s" % man_count
print "當(dāng)前你擁有的牌是 %s" % man_numbers
else:
while flag_man == 1:
print "你擁有的牌數(shù)點(diǎn)數(shù)大于16點(diǎn),總數(shù)為 %s,是否需要繼續(xù)添加新牌?" % man_count
print "任意鍵表示繼續(xù)要牌,輸入大寫(xiě)Q或小寫(xiě)q,表示退出!"
get_key = raw_input("請(qǐng)輸入:\n")
if get_key == 'Q' or get_key == 'q':
flag_man = 0
else:
man_random3 = random.randint(1, 10) # 獲得隨機(jī)值,保證每次取到的都是一個(gè)新的隨機(jī)值
man_numbers.append(man_random3) # 把獲得的隨機(jī)值添加到列表中
man_count = man_count + man_numbers[-1] # 始終加上列表的最后一個(gè)值
if man_count >= 22:
flag_man = 0
print """******************************"""
print "當(dāng)前你的牌數(shù)總數(shù)是 %s" % man_count
print "當(dāng)前你擁有的牌是 %s" % man_numbers
# **************************************
# ############# 定義CPU行為 ############
# **************************************
# 計(jì)算初始CPU得到的總數(shù)
for j in cpu_numbers:
cpu_count = cpu_count + j
if cpu_count < 16:
while flag_cpu == 1:
# CPU獲取隨機(jī)值
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 "當(dāng)前CPU擁有的牌是 %s" % cpu_numbers
else:
print """******************************"""
print "CPU的總和是 %s" % cpu_count
print "當(dāng)前CPU擁有的牌是 %s" % cpu_numbers
# **************************************
# ######### 比較CPU和人的值 ###########
# **************************************
print """******************************"""
if man_count >= 22 and cpu_count < 22:
print "CPU贏了..."
print "你的總數(shù)大于22,你輸了..."
elif man_count < 22 and cpu_count >= 22:
print "你贏了..."
print "CPU的總數(shù)大于22,CPU輸了..."
elif man_count <= 21 and cpu_count <= 21:
if man_count > cpu_count:
print "你贏了..."
print "你的總數(shù)為:%s" % man_count
print "CPU輸了..."
print "CPU的總數(shù)為:%s" % cpu_count
elif man_count < cpu_count:
print "CPU贏了..."
print "CPU的總數(shù)為:%s" % cpu_count
print "你輸了..."
print "你的總數(shù)為:%s" % man_count
else:
print "和局..."
print "你和CPU的總數(shù)都為:%s" % man_count
else:
print "和局..."
print "你和CPU的總數(shù)都大于22..."
print "*************** 游戲結(jié)束 ***************"
10年積累的
網(wǎng)站建設(shè)、網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶(hù)對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶(hù)得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先
做網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有
武漢免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。
文章標(biāo)題:Python:CPU和人的21點(diǎn)對(duì)決-創(chuàng)新互聯(lián)
本文來(lái)源:http://www.rwnh.cn/article4/dgsiie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司、定制網(wǎng)站、網(wǎng)站導(dǎo)航、微信小程序、云服務(wù)器、全網(wǎng)營(yíng)銷(xiāo)推廣
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源:
創(chuàng)新互聯(lián)