溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python小程序如何實(shí)現(xiàn)4名牌手洗牌發(fā)牌

發(fā)布時(shí)間:2020-07-27 10:04:13 來(lái)源:億速云 閱讀:204 作者:小豬 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要為大家展示了python小程序如何實(shí)現(xiàn)4名牌手洗牌發(fā)牌,內(nèi)容簡(jiǎn)而易懂,希望大家可以學(xué)習(xí)一下,學(xué)習(xí)完之后肯定會(huì)有收獲的,下面讓小編帶大家一起來(lái)看看吧。

編寫程序, 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()

以上就是關(guān)于python小程序如何實(shí)現(xiàn)4名牌手洗牌發(fā)牌的內(nèi)容,如果你們有學(xué)習(xí)到知識(shí)或者技能,可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI