亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python實現(xiàn)斗地主分牌洗牌

 更新時間:2020年06月22日 11:06:56   作者:sea_kingdom  
這篇文章主要為大家詳細介紹了python實現(xiàn)斗地主分牌洗牌,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了python實現(xiàn)斗地主分牌洗牌的具體代碼,供大家參考,具體內容如下

1、建立一個序列,共54個元素,表示一副撲克牌,初始化時是有順序的。
2、編寫一段代碼完成洗牌功能,即將剛才的序列從有序的排列變成隨機的無序排列。
3、編寫一段代碼完成切牌功能,即找到一個1-54的隨機數(shù),將剛才洗牌后的序列從這個隨機數(shù)開始。
4、編寫一段代碼完成發(fā)牌功能,將剛才這個切牌后的無序序列,按順序分發(fā)到三個序列中去,并剩余三張底牌(也是一個序列)。
5、編寫一段代碼完成理牌功能,首先將分牌后的每個序列排序(有自帶的函數(shù)),然后按照從大到小的順序按牌型的方式顯示出來。
6、完成隨機叫地主功能,隨機出現(xiàn)一個地主,將三張底牌分給這個地主,形成新的序列并且降序排列。
7、要顯示出牌的名稱,如:Spade2(黑桃2)、Heart2(紅桃2)、Club2(梅花2)、Diamond2(方片2)等,也可以用縮寫:S2、H2、C2、D2等??梢允褂糜成洌醋值洌部梢宰孕芯帉戯@示程序。

代碼如下

poker=[]   #產生一副牌
pokers=[]
num=101    #用101代指黑桃1,102代指紅桃1,201代指黑桃2
for length in range(0,52):
 poker.append(num)
 num+=1
 if (length+1)%4==0:
 num-=4
 num+=10
poker.extend([230,240])
print(poker)

import random    #洗牌 奇數(shù)為一組 偶數(shù)為一組
for leng in range(0,8): 
 poker1=[]
 poker2=[]
 for length in range(0,54):
 if length%2==0:
  poker1.append(poker[length])
 else:
  poker2.append(poker[length])
 temp=random.randrange(0,2) #為1時 偶奇相加 ,為2時奇偶相加,共2**8種結果
 if temp%2==0:
 poker=poker1+poker2
 else:
 poker=poker2+poker1
print(poker)

number=int(input("請輸入切牌的位置;")) #切牌
poker1=poker[0:number]
poker2=poker[number:54]
poker=poker2+poker1
print(poker)

player1=[]    #分牌
player2=[]
player3=[]
for length in range(0,51):
 if length%3==0:
 player1.append(poker[length])
 if length%3==1:
 player2.append(poker[length])
 if length%3==2:
 player3.append(poker[length])

for length in range(51,54):  #剩下的三張牌 (地主的牌)
 num=(poker[length]-90)//10
 temp=num
 if num==11:
 temp='J'
 if num==12:
 temp='Q'
 if num==13:
 temp='K'
 
 if poker[length]%10==1:
 name=str(temp)+'S'
 pokers.append(name)
 elif poker[length]%10==2:
 name=str(temp)+'H'
 pokers.append(name)
 elif poker[length]%10==3:
 name=str(temp)+'C'
 pokers.append(name)
 elif poker[length]%10==4:
 name=str(temp)+'D'
 pokers.append(name)
 elif poker[length]==230:
 name='小王'
 pokers.append(name)
 elif poker[length]==240:
 name='大王'
 pokers.append(name)
print(pokers)

power=random.randrange(1,4)
if power==1:
 player1.extend(poker[51:54])
if power==2:
 player2.extend(poker[51:54])
if power==3:
 player3.extend(poker[51:54])
player1.sort()    #降序
player2.sort()  
player3.sort()
player1=player1[::-1]
player2=player2[::-1]
player3=player3[::-1]


player1s=[]    #顯示
player2s=[]
player3s=[]
for length in range(0,len(player1)):  #顯示 player1
 num=(player1[length]-90)//10
 temp=num
 if num==11:
 temp='J'
 if num==12:
 temp='Q'
 if num==13:
 temp='K'
 
 if player1[length]%10==1:
 name=str(temp)+'S'
 player1s.append(name)
 elif player1[length]%10==2:
 name=str(temp)+'H'
 player1s.append(name)
 elif player1[length]%10==3:
 name=str(temp)+'C'
 player1s.append(name)
 elif player1[length]%10==4:
 name=str(temp)+'D'
 player1s.append(name)
 elif player1[length]==230:
 name='小王'
 player1s.append(name)
 elif player1[length]==240:
 name='大王'
 player1s.append(name)

for length in range(0,len(player2)):  #顯示 player2
 num=(player2[length]-90)//10
 temp=num
 if num==11:
 temp='J'
 if num==12:
 temp='Q'
 if num==13:
 temp='K'
 
 if player2[length]%10==1:
 name=str(temp)+'S'
 player2s.append(name)
 elif player2[length]%10==2:
 name=str(temp)+'H'
 player2s.append(name)
 elif player2[length]%10==3:
 name=str(temp)+'C'
 player2s.append(name)
 elif player2[length]%10==4:
 name=str(temp)+'D'
 player2s.append(name)
 elif player2[length]==230:
 name='小王'
 player2s.append(name)
 elif player2[length]==240:
 name='大王'
 player2s.append(name)
for length in range(0,len(player3)):  #顯示 player3
 num=(player3[length]-90)//10
 temp=num
 if num==11:
 temp='J'
 if num==12:
 temp='Q'
 if num==13:
 temp='K'
 
 if player3[length]%10==1:
 name=str(temp)+'S'
 player3s.append(name)
 elif player3[length]%10==2:
 name=str(temp)+'H'
 player3s.append(name)
 elif player3[length]%10==3:
 name=str(temp)+'C'
 player3s.append(name)
 elif player3[length]%10==4:
 name=str(temp)+'D'
 player3s.append(name)
 elif player3[length]==230:
 name='小王'
 player3s.append(name)
 elif player3[length]==240:
 name='大王'
 player3s.append(name)
if len(player1s)==17:
 print('農民:',player1s)
else:
 print('地主:',player1s)
if len(player2s)==17:
 print('農民:',player2s)
else:
 print('地主:',player2s)
if len(player3s)==17:
 print('農民:',player3s)
else:
 print('地主:',player3s)

(顯示可先編為函數(shù),使用時引用,可減少代碼行數(shù))
(此方法未用python內置函數(shù),如果你嫌麻煩可在此基礎上再次優(yōu)化)

更多有趣的經典小游戲實現(xiàn)專題,分享給大家:

C++經典小游戲匯總

python經典小游戲匯總

python俄羅斯方塊游戲集合

JavaScript經典游戲 玩不停

javascript經典小游戲匯總

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Python數(shù)據(jù)處理中pd.concat與pd.merge的區(qū)別及說明

    Python數(shù)據(jù)處理中pd.concat與pd.merge的區(qū)別及說明

    這篇文章主要介紹了Python數(shù)據(jù)處理中pd.concat與pd.merge的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • python 圖像判斷,清晰度(明暗),彩色與黑白實例

    python 圖像判斷,清晰度(明暗),彩色與黑白實例

    這篇文章主要介紹了python 圖像判斷,清晰度(明暗),彩色與黑白實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python yield 小結和實例

    Python yield 小結和實例

    yield的作用就是把一個函數(shù)變成一個 generator,帶有 yield 的函數(shù)不再是一個普通函數(shù),Python 解釋器會將其視為一個 generator(不知道什么是generator要先去理解一下Python的generator的了)
    2014-04-04
  • 如何用Python實現(xiàn)自動發(fā)送微博

    如何用Python實現(xiàn)自動發(fā)送微博

    大家好,本篇文章主要講的是如何用Python實現(xiàn)自動發(fā)送微博,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏
    2022-01-01
  • Scrapy爬蟲多線程導致抓取錯亂的問題解決

    Scrapy爬蟲多線程導致抓取錯亂的問題解決

    本文針對Scrapy爬蟲多線程導致抓取錯亂的問題進行了深入分析,并提出了相應的解決方案,具有一定的參考價值,感興趣的可以了解一下
    2023-11-11
  • python添加模塊搜索路徑方法

    python添加模塊搜索路徑方法

    下面小編就為大家?guī)硪黄猵ython添加模塊搜索路徑方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • Python 居然可以在 Excel 中畫畫你知道嗎

    Python 居然可以在 Excel 中畫畫你知道嗎

    哈嘍,哈嘍~對于Excel大家想到的是不是各種圖表制作,今天我們來個不一樣的。十字繡大家都知道吧,今天咱們來玩?zhèn)€電子版的十字繡
    2022-02-02
  • python自帶tkinter庫實現(xiàn)棋盤覆蓋圖形界面

    python自帶tkinter庫實現(xiàn)棋盤覆蓋圖形界面

    這篇文章主要為大家詳細介紹了python自帶tkinter庫實現(xiàn)棋盤覆蓋圖形界面,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • 如何使用Python JSON解析和轉換數(shù)據(jù)

    如何使用Python JSON解析和轉換數(shù)據(jù)

    JSON 是文本,使用 JavaScript 對象表示法編寫,Python 有一個內置的 json 包,可用于處理 JSON 數(shù)據(jù),本文給大家介紹使用Python JSON解析和轉換數(shù)據(jù)的方法,感興趣的朋友跟隨小編一起看看吧
    2023-11-11
  • Python3編碼問題 Unicode utf-8 bytes互轉方法

    Python3編碼問題 Unicode utf-8 bytes互轉方法

    今天小編就為大家分享一篇Python3編碼問題 Unicode utf-8 bytes互轉方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10

最新評論