日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

无聊之作-纸牌接龙(排火车)结束平均次数

發布時間:2024/1/1 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 无聊之作-纸牌接龙(排火车)结束平均次数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天看論文看累了,在實驗室看到一幅撲克牌,想到小時候的無聊游戲-紙牌接龍(排火車,排竹尖),就是一副牌(去掉大小王)分成兩份給兩個人,然后每個人依次出一張按順序放入隊列中,當某一人出的一張牌,在隊列中已經存在的時候,這個人將會收走從隊列尾部到已經存在的牌之間的所有牌,然后再出一張,依次循環,直到兩個人中有一人一張牌也沒有的時候,游戲結束,當然這個游戲不止局限于兩個人一副牌,N個人M副牌也是可以玩的

這好像是最無聊的紙牌游戲了,完全沒有技術含量,完全憑運氣,但是好像從來沒有玩到結束過,因此今天看到紙牌想起來這個游戲,就想用計算機跑一下在隨機的情況下,兩個人一副牌,游戲結束的平均回合數有多少,因此產生了這個無聊之作

最后實驗結果得出,平均500回合(出一次牌為一個回合)左右,游戲會結束。。。怪不得從小到大都沒那個耐心玩完過

import random import sys sys.setrecursionlimit(10000)class Playerr:def __init__(self,other_player=None):self.card= [0 for x in range(0, 13)]if other_player:for i in range(13):self.card[i]=4-other_player.card[i]else:for i in range(13):self.card[i]=random.randint(0,4)def draw_card(self):if self.is_empty():return -1random_draw=random.randint(0,12)if self.card[random_draw]>0:self.card[random_draw]=self.card[random_draw]-1return random_drawelse:return self.draw_card()def is_empty(self):for i in range(13):if self.card[i]>0:return Falsereturn Truedef display_card(self):print(self.card)def play(cards,player_a,player_b,step):card_a=player_a.draw_card()'''print("---------------------")player_a.display_card()player_b.display_card()print(cards)print(card_a)print("---------------------")'''if card_a==-1:return Nonetry:find_index=cards.index(card_a)except ValueError:find_index=-1if find_index!=-1:for i in range(len(cards)-find_index):card_index=cards.pop()player_a.card[card_index]=player_a.card[card_index]+1player_a.card[card_a] = player_a.card[card_a] + 1else:cards.append(card_a)step[0]=step[0]+1return play(cards,player_b,player_a,step)def main():sum=0for i in range(5000):player_a=Playerr()player_b=Playerr(other_player=player_a)step=[1]play([],player_a,player_b,step)sum+=step[0]print(str(i)+"-----"+str(step))print(sum/5000)if __name__ == '__main__':main()

?

總結

以上是生活随笔為你收集整理的无聊之作-纸牌接龙(排火车)结束平均次数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。