Python3 計算出同花的概率

jopen 9年前發布 | 803 次閱讀 Python

每次抽取后都重新洗牌。計算10000次隨機抽取可得到同花的幾率。我做的比較復雜,分別累計了四種花色分別出現了幾次。

import random
list=["2","3","4",'5','6','7','8','9','10',"J","Q","K","A"]
list2=["H","C","D","S"]
list3=[]
n=0
a=0
while a<4:
    n=0
    while n<13:
        list3+=[list[n]+list2[a]]
        n+=1
    a+=1
i=0
r=0
d=0
c=0
s=0
h=0
while i <10000:
    random.shuffle(list3)
    list4=list3[0:5]
    i+=1
    for card in list4:
        if 'D' in card:
            d+=1
            if d==5:
                r+=1
    for card in list4:
        if 'H' in card:
            h+=1
            if h==5:
                r+=1
    for card in list4:
        if 'S' in card:
            s+=1
            if s==5:
                r+=1
    for card in list4:
        if 'C' in card:
            c+=1
            if c==5:
                r+=1
    d=0
    c=0
    s=0
    h=0
print ('Number of natural Flushes:',r)
print('Percentage:',r/100,'%')

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!