python小程序之4名牌手洗牌發(fā)牌問(wèn)題解析
本文為大家解析了python實(shí)現(xiàn)4名牌手洗牌發(fā)牌的問(wèn)題,供大家參考,具體內(nèi)容如下
編寫(xiě)程序, 4名牌手打牌,計(jì)算機(jī)隨機(jī)將52張牌(不含大小鬼)發(fā)給4名牌手,在屏幕上顯示每位牌手的牌。創(chuàng)建函數(shù)gen_pocker()交換牌的順序,函數(shù)getColor()獲取牌的花色,函數(shù)getValue()獲取牌的牌面大小,函數(shù)getPuk()獲取花色和牌面大小的組合
運(yùn)行效果
[51, 45, 31, 4, 48, 26, 11, 2, 24, 44, 22, 21, 16, 41, 50, 47, 13, 25, 17, 29, 42, 27, 19, 33, 5, 40, 1, 8, 30, 18, 10, 9, 0, 3, 14, 46, 36, 35, 12, 15, 20, 34, 38, 39, 43, 37, 32, 7, 28, 23, 49, 6]
牌手1:方塊4 方塊8 方塊A 方塊Q 紅桃3 紅桃5 紅桃J 草花6 草花A 黑桃10 黑桃4 黑桃5 黑桃K
牌手2:方塊6 方塊J 方塊K 紅桃10 紅桃2 紅桃9 紅桃A 紅桃Q 草花4 黑桃2 黑桃3 黑桃6 黑桃7
牌手3:方塊10 方塊2 方塊5 方塊7 紅桃6 紅桃7 紅桃K 草花2 草花J 草花K 草花Q 黑桃J 黑桃Q
牌手4:方塊3 方塊9 紅桃4 紅桃8 草花10 草花3 草花5 草花7 草花8 草花9 黑桃8 黑桃9 黑桃A
import random def gen_pocker(n): random.shuffle(n) return n #產(chǎn)生牌的花色 def getColor(n): if(n>=0 and n<=12): return "梅花" elif(n>=13 and n<=25): return "方塊" elif(n>=26 and n<=38): return "紅桃" elif(n>=39 and n<=51): return "黑桃" def getValue(n): if n==0 or n==13 or n==26 or n==39: return 'A' elif n==12 or n==38 or n==25 or n==51: return 'K' elif n==11 or n==37 or n==24 or n==50: return 'Q' elif n==10 or n==36 or n==23 or n==49: return 'J' else: return n%13 def getPuk(): List=[] #代表一副牌,現(xiàn)在表示還沒(méi)有牌,只是一個(gè)牌盒 for i in range(0,52): List.append(i) #按順序往牌盒中放入52張牌 List=gen_pocker(List) #將牌盒中的牌打亂順序 List1=[] #定義4個(gè)牌手 List2=[] List3=[] List4=[] for i in range(0,52): #實(shí)現(xiàn)發(fā)牌 if i<13: #打亂后的前13張牌發(fā)給牌手1,實(shí)現(xiàn)牌手1手牌中如何含有花色和數(shù)字 List1.append(getColor(List[i])+str(getValue(List[i]))) elif i<26: List2.append(getColor(List[i])+str(getValue(List[i]))) elif i<39: List3.append(getColor(List[i])+str(getValue(List[i]))) else: List4.append(getColor(List[i])+str(getValue(List[i]))) print(List) print("牌手1",List1) print("牌手2",List2) print("牌手3",List3) print("牌手4",List4) getPuk()
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python+KgCaptcha實(shí)現(xiàn)驗(yàn)證碼的開(kāi)發(fā)詳解
驗(yàn)證碼通常是為了區(qū)分用戶(hù)是人還是計(jì)算機(jī),也可以防止解開(kāi)密碼等惡意行為,而客戶(hù)端上多數(shù)會(huì)用在關(guān)鍵操作上?,F(xiàn)在驗(yàn)證碼的種類(lèi)樣式也特別多,本文主要介紹了如何用Python和KgCaptcha做出驗(yàn)證碼功能,需要的可以參考一下2023-04-04利用Python編寫(xiě)的實(shí)用運(yùn)維腳本分享
Python在很大程度上可以對(duì)shell腳本進(jìn)行替代。筆者一般單行命令用shell,復(fù)雜點(diǎn)的多行操作就直接用Python了。本文歸納了Python中一些實(shí)用腳本操作,需要的可以參考一下2022-05-05pip 錯(cuò)誤unused-command-line-argument-hard-error-in-future解決辦法
這篇文章主要介紹了Python包管理器pip安裝軟件時(shí)出現(xiàn)unused-command-line-argument-hard-error-in-future錯(cuò)誤的解決辦法,需要的朋友可以參考下2014-06-06python中import cv2遇到的錯(cuò)誤及安裝方式
這篇文章主要介紹了python中import cv2遇到的錯(cuò)誤及安裝方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09python 多線(xiàn)程共享全局變量的優(yōu)劣
這篇文章主要介紹了python 多線(xiàn)程共享全局變量的優(yōu)劣,幫助大家更好的理解和學(xué)習(xí)python多線(xiàn)程,感興趣的朋友可以了解下2020-09-09